(57)【要約】  動作環境内のソフトウェアコントロールを適合させるシステムおよび方法が開示される。コントロール（１１０）が動作環境（１００）内に配置され、動作環境内に登録され認識されるように適合される。動作環境内のマネージャ（１０２）がコントロールを識別する。マネージャはまた、コントロールのデータ構造を変更する。データ構造は、動作環境内で他のコントロールとインタフェースするデータを含む。さらに、コントロールは動作環境内で認識することが可能である。
2005514686.tif 000002
【特許請求の範囲】
【請求項１】
動作環境内でコントロールを適合させる方法であって、
前記動作環境内のマネージャを使用して前記コントロールを識別することと、
前記マネージャからのデータを使用して前記コントロールのデータ構造を変更することと、
前記コントロールを使用して前記動作環境を更新することと、
を含む動作環境内でコントロールを適合させる方法。
【請求項２】
前記コントロールにタイプストリングを割り当てることをさらに含む請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項３】
前記コントロールのタイプを決定することをさらに含む請求項２記載の動作環境内でコントロールを適合させる方法。
【請求項４】
前記変更することは、前記コントロールの前記データ構造にタイプストリングを追加することを含む、請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項５】
前記変更することは、前記コントロールの前記データ構造にキーストリングを追加することを含む、請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項６】
前記変更することは、前記コントロールの前記データ構造にサポートメンバストリングを追加することを含む、請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項７】
前記変更することは、前記コントロールの前記データ構造に自己参照ポインタを追加することを含む、請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項８】
前記変更することは、前記コントロールの前記データ構造にマネージャポインタを追加することを含む、請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項９】
前記変更することは、前記コントロールの前記データ構造にポインタアレイを追加することを含む、請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項１０】
前記マネージャに前記コントロールを登録することをさらに含む請求項１記載の動作環境内でコントロールを適合させる方法。
【請求項１１】
動作環境内でコントロールを適合させるシステムであって、
前記コントロールを識別する、前記動作環境内のマネージャと、
前記コントロールを変更するデータ構造であって、前記マネージャにより前記コントロールに付加される、データ構造と、
前記データ構造に従って前記マネージャにより更新される別のコントロールと、
を備えた動作環境内でコントロールを適合させるシステム。
【請求項１２】
前記データ構造はタイプストリングを含む、請求項１１記載の動作環境内でコントロールを適合させるシステム。
【請求項１３】
前記データ構造は前記別のコントロールを参照するポインタアレイを含む、請求項１１記載の動作環境内でコントロールを適合させるシステム。
【請求項１４】
前記データ構造は自己参照ポインタを含む、請求項１１記載の動作環境内でコントロールを適合させるシステム。
【請求項１５】
前記コントロールは前記動作環境に追加される、請求項１１記載の動作環境内でコントロールを適合させるシステム。
【請求項１６】
前記マネージャは前記データ構造に従って前記コントロールを参照する、請求項１１記載の動作環境内でコントロールを適合させるシステム。
【請求項１７】
前記コントロールは機能を前記動作環境に提供する、請求項１１記載の動作環境内でコントロールを適合させるシステム。
【請求項１８】
新しいコントロールを動作環境に適合させるシステムであって、
前記動作環境内のマネージャであって、前記新しいコントロールは初めは前記マネージャにより認識されない、マネージャと、
前記動作環境内の別のコントロールと、
前記新しいコントロールに追加されるデータ構造であって、前記マネージャおよび前記別のコントロールは、前記データ構造を介して前記新しいコントロールとインタフェースする、データ構造と、
を備えた新しいコントロールを動作環境に適合させるシステム。
【請求項１９】
前記データ構造はタイプストリングを含む、請求項１８記載の新しいコントロールを動作環境に適合させるシステム。
【請求項２０】
前記データ構造はポインタアレイを含む、請求項１８記載の新しいコントロールを動作環境に適合させるシステム。
【請求項２１】
前記動作環境は前記新しいコントロールにデータを関連付ける、請求項１８記載の新しいコントロールを動作環境に適合させるシステム。
【請求項２２】
動作環境に配置されたコントロールを適合させる方法であって、
前記コントロールを前記動作環境に付加することと、
前記コントロールが前記動作環境内のマネージャにより認識不可能であるかを判断することと、
前記コントロールにデータ構造を付加することであって、前記データ構造は、前記動作環境内の前記コントロールを認識するためのデータを含む、データ構造を付加することと、
前記動作環境内の他の構成要素を、前記コントロールとインタフェースするように更新することと、
を含む動作環境に配置されたコントロールを適合させる方法。
【請求項２３】
前記コントロールにタイプストリングを割り当てることをさらに含み、前記タイプストリングは前記動作環境内において前記コントロールを識別する、請求項２２記載の動作環境に配置されたコントロールを適合させる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［発明の背景］
［発明の分野］
本発明は、電子対話式通信システムに関し、特に、本発明は、初めから動作環境（operating environment）および／または動作環境内のその他のコントロール（control）と完全に互換性があるわけではない、動作環境内のソフトウェアコントロール（software control）を適合させるシステムおよび方法に関する。
【０００２】
［関連出願の相互参照］
本願は、２００１年１２月２１日出願の米国仮特許第出願第６０／３４１，８６２号、名称「Electronic Interactive Communication System and the Method Therefor」、および２００２年１２月１８日出願の米国非仮特許出願、名称「System and Method For Adapting A Software Control In An Operating Environment」の利益を請求するものであり、これらを両方とも参照により本明細書に援用する。
【０００３】
［関連分野の考察］
近年、コンピューティングプラットフォームの数は著しく増大した。手のひらサイズのコンピューティング装置および／または可搬式コンピューティング装置が一般になった。さらに、特定のオペレーティングシステムをそれぞれ有する、バージョンの異なる特定のプラットフォームの数も同様に増大した。コンピューティングプラットフォーム上で実行する様々なソフトウェアプログラムも作成された。従来のコンピューティング装置は、情報およびプログラムコードをメモリに予め格納し、そのプログラムを実行できるようにする情報を別の装置から受け取ることができる。複数のコンピューティングプラットフォームおよびオペレーティングシステムを使用する場合、プログラムおよび情報は、多くの動作環境で実行する能力を使用して理解する必要がある。
【０００４】
ソフトウェアコントロールは、異なるプラットフォーム上で動作している異なるプログラムを使用可能に、または起動することができる。ソフトウェアコントロールは、既存のプログラムの機能を高めるプログラムモジュールであることができる。コントロールは、ユーザがコンピューティングプラットフォームのメモリに格納されている情報を操作できるようにするユーザインタフェース機能としての役割を果たすことができる。コントロールは、統合され、プログラムの通常部分として見える既存の構成要素を呼び出すことにより機能を追加することが可能である。しかし一般に、これらコントロールは起動されるまで休止しており、受け身的にコンピューティング環境内に存在していない場合がある。この欠点により、コントロールの有効性が低減し、ソフトウェア環境内で、また他のプログラムおよびコントロールと対話するコントロールの能力が制限される恐れがある。さらに、従来のコントロールは、他のコントロールの属性（property）およびメソッドを、そのコントロールをアクティブにさせずにアクセスすることができないものがある。
【０００５】
コントロールは、上に述べたように、可搬式装置であるコンピューティングプラットフォーム上にあることが望ましい場合がある。コントロールは、可搬式装置の機能を強化し、装置に格納されているプログラムを越えるさらなる情報をユーザに提供する。しかし、コントロールが動作環境内に配置されるが、動作環境と完全には互換性がない、またはその他のコントロールにより認識することができない場合、問題が生じ得る。機能のエラーまたは損失が発生する恐れがある。さらに、登録されていない、すなわち認識されていないコントロールの、動作環境内での実行を許した場合、セキュリティ問題が生じる恐れがある。
【０００６】
［発明の概要］
したがって、開示する実施形態は、動作環境においてソフトウェアコントロールを適合させるシステムおよび方法に向けられる。コントロールは、動作環境内に配置され、環境内で登録され認識されるように適合される。
【０００７】
開示された実施形態のさらなる特徴および利点は、以下の説明に示し、説明から明らかになる部分もあれば、本発明の実施により学ぶことができるものもある。開示される実施形態の目的および他の利点は、本明細書の書面での説明および特許請求の範囲、ならびに添付図面において特に指摘される構造によって認識し達成されるであろう。
【０００８】
これらおよび他の利点を達成するため、そして本発明の目的によれば、具現され広く説明されるように、動作環境内でコントロールを適合させる方法が開示される。この方法は、動作環境内のマネージャを使用してコントロールを識別することを含む。方法は、マネージャからのデータを使用してコントロールのデータ構造を変更することも含む。方法は、コントロールを使用して動作環境を更新することも含む。
【０００９】
開示される実施形態によれば、動作環境内でコントロールを適合させるシステムが開示される。このシステムは、コントロールを識別する、動作環境内のマネージャを備える。システムは、コントロールを変更するデータ構造も備える。データ構造はマネージャによりコントロールに付加される。システムは別のコントロールも備える。別のコントロールは、データ構造に従ってマネージャにより更新される。
【００１０】
開示される実施形態によれば、新しいコントロールを動作環境に適合させるシステムが開示される。このシステムは、動作環境内のマネージャを備える。新しいコントロールは、初めはマネージャにより認識されない。システムは、動作環境内の別のコントロールも備える。システムは、新しいコントロールに付加されるデータ構造も備える。マネージャおよび別のコントロールは、データ構造を介して新しいコントロールとインタフェース（interface）する。
【００１１】
開示される実施形態によれば、動作環境に配置されたコントロールを適合させる方法が開示される。この方法は、コントロールを動作環境に付加することを含む。方法は、コントロールが動作環境内のマネージャにより認識することができないかを判断することも含む。方法は、データ構造をコントロールに付加することも含む。データ構造は、動作環境内のコントロールを認識するデータを含む。方法は、動作環境内の他の構成要素を、コントロールとインタフェースするように更新することも含む。
【００１２】
上記概説および以下の詳細な説明は両方とも例示的かつ説明的なものであり、特許請求される本発明のさらなる説明の提供を意図することを理解されたい。
【００１３】
本発明のさらなる理解を提供するために包含され、本明細書に組み込まれるとともに本明細書の一部をなす添付図面は、本発明の実施形態を示し、説明と併せて本発明の原理を説明する役割を果たす。
【００１４】
［好ましい実施形態の詳細な説明］
これより、本発明の好ましい実施形態を詳細に参照し、その例を添付図面に示す。
【００１５】
図１は、本発明の一実施形態による、コントロールマネージャ１０２、ならびにコントロール１０４、１０６、および１０８、そしてマップコントロール１１０を有する動作環境１００を示す。動作環境１００は、プラットフォーム上で動作の命令を実行する、プロセッサ、メモリ、およびソフトウェアコードを備えた任意のコンピューティングプラットフォームに存在し得る。コンピューティングプラットフォームは、デスクトップ、ポータブルコンピュータ、ラップトップ、個人情報端末（「ＰＤＡ」）等、任意のコンピュータを含むユニットまたは装置として知られている場合もある。コンピューティングプラットフォームは、コンピュータネットワークまたは他のデータ交換装置であってもよい。好ましくは、動作環境１００は、プログラムおよびアプリケーションを実行するハンドヘルドコンピュータ等、ポータブルコンピューティング装置に存在する。
【００１６】
可搬式コンピューティング装置は、送信器または他の情報記憶資源と対話して、装置上のプログラムおよびアプリケーションにとって関心のある情報を受け取ることができる。動作環境１００は、コンピューティング装置上で実行されているコントロール、プログラム、およびアプリケーションの更新およびデータ送出を調整することができる。
【００１７】
コントロール１０４、１０６、１０８、および１１０は、動作環境１００内のプログラムおよびアプリケーションを強化する様々なタイプであることができる。たとえば、地図コントロール１１０は装置上に地図を表示する機能を提供する。さらに、コントロール１０４はコンパスコントロール等であることができる。コントロール１０４はモードコントロールまたはデータコントロールであってもよい。コントロール１０４は情報コントロール、トラックデータコントロール、ツリーコントロール等であってもよい。コントロール１０４、１０６、および１０８は、動作環境１００内のソフトウェアプログラムによりアクセスされるメモリ内に格納されたデータを操作するユーザインタフェースとしての役割を果たすことができる。たとえば、地図コントロール１１０はユーザと対話して、ハンドヘルド装置に格納されている地図を操作することが可能である。
【００１８】
コントロール１０４、１０６、１０８、および１１０の弁別的な面は、それぞれの機能ならびにそれぞれ固有の構造（たとえば、コード）を含む。コントロール１０４、１０６、１０８、および１１０は、動作環境１００内で動作している構成要素に機能を提供する。したがって、コントロール１０４、１０６、１０８、および１１０は、動作環境１００に提供されるそれぞれの機能またはそこで実行されるプログラムに限定されない。さらに、コントロールの数はコントロール１０４、１０６、１０８、および１１０に限定されない。動作環境１００は任意の数のコントロールを備えることができ、コントロール１０４、１０６、１０８、および１１０に限定されない。
【００１９】
動作環境１００は、ソフトウェアコントロールマネージャ１０２も備える。マネージャ１０２は、動作環境１００内のコントロール１０４、１０６、１０８、および１１０を認識して調整する。コントロール１０４、１０６、１０８、および１１０は、動作環境１００からマネージャ１０２を通して情報を受け取る。この情報は、動作環境１００をホストしている装置上で受け取っても、または動作環境１００内で実行されているプログラムおよびアプリケーションから受け取ってもよい。マネージャ１０２は、コントロール１０４、１０６、１０８、および１１０、またはマネージャ１０２によって認識された任意の他のコントロールの間での通信をやりやすくする。マネージャ１０２は、動作環境１００内で自動的に起動することが可能であるという点で自己実行可能であることができる。マネージャ１０２は、起動にコマンドを必要としなくてもよい。
【００２０】
マネージャ１０２は、動作環境１００に導入されるコントロール、または動作環境１００内で実行されているプログラムおよびアプリケーションによってイネーブル（enable）されたコントロールも認識する。たとえば、コントロール１０８は、動作環境１００内で使用する指示（designation）または名称に関してマネージャ１０２にコンタクトをとることができる。コントロール１０８は、コントロールの全体のタイプを指定するタイプストリングを含むことができる。マネージャ１０２は、コントロール１０８がその他のコントロールと情報を交換することができるように、コントロール１０８に対するコントロールのリストおよびそれぞれの指示を送ることができる。したがって、動作環境１００内で、コントロールは互いを認識し、通信することが可能である。
【００２１】
たとえば、地図コントロール１１０が動作環境１００内に存在する。コントロール１０８はコンパスコントロールであることができる。地図コントロール１１０はコンパスコントロール１０８を必要としなくてもよいが、コンパスコントロール１０８は、動作環境１００内のプログラムおよびアプリケーションのいずれから使用されるにも地図コントロール１１０が必要であり得る。ユーザがコンパスコントロール１０８により提供されるインタフェース上の「Ｎｏｒｔｈ（北）」を押下する場合、コンパスコントロール１０８は北処理に地図グラフィックを要求する。そして、コントロール１０６は動作環境１００内に配置されたマクロコントロールであることができる。コントロール１０６は、地図コントロール１１０に直接関係するものではないかもしれないが、地図コントロール１１０はマネージャ１０２によりコントロール１０６を認識するようにされている。
【００２２】
マネージャ１０２は、コントロール１１０、１０８、および１０６についての初期情報を受け取り、コントロールが互いに情報を交換できることを確保することにより、上に開示した関係を助ける。さらに、マネージャ１０２は、コンパスコントロール１０８が地図コントロール１１０に依存することを確認する。動作環境１００内にコントロール１０４、１０６、１０８、および１１０を配置する順序は、マネージャ１０２がコントロール自体と動作環境１００の間のアクセスおよび調整を制御するため、重要な要因ではない。したがって、コントロール１０４、１０６、１０８、および１１０は、動作環境１００内に動的かつ自動的に、また存在しているプログラムおよびアプリケーションによる使用のために「アクティブ」になる必要なく、組み込むことができる。
【００２３】
コントロール１０４、１０６、１０８、および１１０は、マネージャ１０２に情報を提供する特定の属性を有することができる。属性はシステム設計に従って作成することができ、コントロールそれ自体内に示される。１つの属性はコントロールタイプであることができる。コントロールタイプは、コントロールの全体的なタイプを表す、「地図」または「コンパス」等のデータストリングであることができる。この属性により、マネージャ１０２は、動作環境１００内のその他のコントロールからコントロールを識別することができる。別の属性はサポートメンバであることができる。サポートメンバは、上に述べたコンパスコントロール１０８等、識別されたコントロールが使用する必要があり得る（またはそれを望む）その他のコントロールを列挙したストリングであってもよい。
【００２４】
マネージャ１０２は、動作環境１００内に配置されたコントロールに対してセキュリティまたは確認プロセスも実施してもよい。マネージャ１０２は、動作環境１００内で新しいコントロールを識別して登録するときに、セキュリティプロセスを呼び出してもよい。マネージャ１０２は、動作環境１００内に存在するための認可およびデータ構造を有するコントロールを登録する。
【００２５】
マネージャ１０２は、追加されたコントロールを受け入れる場合、追加されたコントロールのデータ構造から情報を検索して、動作環境１００内の他のコントロール、プログラム、およびアプリケーションとの通信に役立てる。たとえば、コントロール１０４は動作環境１００内で受け身的なままであることができる。コントロール１０６がコントロール１０４の機能を望む場合、コントロール１０６はマネージャ１０２からコントロール１０４の指示を受け取ることができる。コントロール１０６は指示をそれぞれのデータ構造に格納してもよく、またはコントロール１０４についてマネージャ１０２に問い合わせてもよい。しかし、コントロール１０４は「起動」されない。すなわち、コンピューティングプラットフォームのディスプレイまたは他の構成要素を占有しないという点でアクティブにされない。
【００２６】
ハンドシェイクプロセス後、追加されたコントロールが完全に互換性があるわけではない、またはマネージャ１０２により完全には認識されない場合、追加されたコントロールを動作環境１００内で動作するように適合させることができる。たとえば、コントロール１０８が動作環境１００に追加される。マネージャ１０２は、コントロール１０８に互換性がないかを判断する。具体的には、コントロール１０８が電子再使用可能情報技術環境（e-Reusable Information Technology Environment）（「ｅＲＩＴＥ」）コントロールではなく、マネージャ１０２との通信アクションをサポートするデータ構造を有していないものと仮定する。そうすると、コントロール１０８を変更して、マネージャ１０２および動作環境１００と互換性があるようにするデータ構造を組み込む。このプロセスはコントロール１０８の「ラッピング」と呼ぶことができる。ラッピングされたコントロール１０８は、動作環境１００内に存在し、対話することができる。
【００２７】
ラッピング後、コントロール１０８は、動作環境１００内で認識され、互換性のあるコントロールとして機能することができる。コントロール１０８はマネージャ１０２から指示（designation）を受け取り、他のコントロールがコントロール１０８にアクセスできるようにすることができる。コントロール１０８が他のコントロールにアクセスすることもできる。さらに、コントロール１０８には、マネージャ１０２のコントロールリスト内の指示を与えることができる。コントロール１０８は、マネージャ１０２、コントロール１０４、１０６、および１１０、ならびに動作環境１００により任意のｅＲＩＴＥコントロールのように識別可能であることができる。
【００２８】
図２は、本発明の実施形態による動作環境２００内の適合されたコントロール２０２を示す。コントロール２０２は、上に開示したように動作環境内で動作するように変更されている。具体的には、フィールド、ストリング、および他のデータをコントロール２０２に添付して、動作環境２００内で動作しやすくすることができる。図１のマネージャ１０２等、コントロールマネージャがコントロール２０２を変更することができる。
【００２９】
タイプストリング２１４をコントロール２０２に追加することができる。タイプストリング２１４は、コントロール２０２の全体的なタイプを表すストリングであることができる。たとえば、タイプストリング２１４は、地図コントロールまたはコンパスコントロールとしてコントロール２０２を識別することができる。タイプストリング２１４により、動作環境２００内のマネージャは、動作環境２００内の他のすべてのコントロールの中からコントロール２０２を識別することが可能になる。他のコントロールは、タイプストリング２１４をコントロール２０２の指示として使用することができる。サポートメンバストリング２１２は、コントロール２０２が機能を実行するにあたり、使用する必要があり得るその他のコントロールを列挙した、カンマで区切られたストリングであることができる。たとえば、コントロール２０２はコンパスコントロールである場合、地図コントロールの移動にコンパスコントロールが使用されるため、地図コントロールがサポートメンバストリング２１２内に列挙される。
【００３０】
自己参照ポインタ２０８は、動作環境２００内のその他のコントロールからコントロール２０２を見る場合のような、コントロール２０２それ自体へのポインタであることができる。自己参照ポインタ２０８は、このポインタ２０８を使用しなければアクセス不可能であり得るコントロール２０２の属性および機能のいくつかをコントロール２０２が操作できるようにする。マネージャポインタ２１０は、図１のマネージャ１０２等、コントロールマネージャへのポインタであることができる。マネージャポインタ２１０は、コントロール２０２がコントロールマネージャの露出されている属性、関数（function）、またはメソッドのいずれかにアクセスする必要がある場合に使用することができる。
【００３１】
ポインタアレイ２０６は、サポートメンバストリング２１２に列挙されたコントロールへのポインタアレイであることができる。そのコントロールは動作環境２００内に存在することができる。たとえば、ポインタアレイ２０６はポインタ２０６０、ポインタ２０６２、ポインタ２０６４、およびポインタ２０６６を含むことができる。各ポインタは異なるコントロールに相関する。ポインタ２０６０〜２０６６は、地図コントロールのパンメソッド等、コントロール２０２が列挙されたコントロールの属性、関数、またはメソッドにアクセスする際に使用することができる。キーストリング２０４は、動作環境２００内のセキュリティ方式またはプロセスの特徴であることができる。マネージャおよびコントロール２０２は、キーストリング２０４を使用して、動作環境２００内のコントロール２０２を登録することができる。
【００３２】
さらなるフィールド、ストリング、ポインタ、およびデータをコントロール２０２に追加することが可能である。コントロール２０２が実行すべきメソッドは、上に述べた追加のデータ構造特徴を使用して実施することもできる。コントロール２０２を変更することにより、動作環境２００は、コントロール２０２の機能をより容易にその他のコントロールに提供できるようにした。たとえば、タイプストリング２１４により、コントロール２０２を、その他のコントロールおよびコントロールマネージャが参照することができる。ポインタアレイ２０６により、コントロール２０２は他のコントロールにそれぞれの機能に関してアクセスすることができる。したがって、コントロール２０２の機能は不適合により失われなることがない。そして動作環境２００は、コントロール２０２が適合されるため、既知の動作環境よりも多くの機能およびサービスを提供する。
【００３３】
図３は、本発明の実施形態による動作環境内のコントロールを適合させるフローチャートを示す。フローチャートは、動作環境またはコントロールマネージャが動作環境内の他のコントロールと互換性があるようにコントロールを適合させるにあたり行うことができるアクションを示す。ステップ３０２が、動作環境内のコントロールを識別することにより実行される。コントロールが、動作環境内に追加される、すなわち配置される。具体的には、ステップ３０２が、コントロールが動作環境またはコントロールマネージャと互換性がないことを識別することにより実行される。コントロールの識別は、マネージャにより実施されるセキュリティ手続きを使用して行うことができる。手続きを使用して、マネージャは、コントロールが適合に適格であるかを判断することができる。
【００３４】
ステップ３０４が、コントロールのタイプを決定することによって実行される。コントロールタイプは、コントロールに問い合わせる、コントロールからデータを読み取る、ユーザから入力を受け取るなどにより導き出すことができる。コントロールタイプは、すべてのコントロールの中から識別するための、コントロールの全体的なタイプを示す。コントロールタイプは、コントロールの機能、またはコントロール内に組み込まれている属性に相関することができる。たとえば、コントロールタイプは地図またはコンパスであることができる。ステップ３０６が、タイプストリングをコントロールに割り当てることにより実行される。コントロールマネージャはタイプストリングを生成することができる。タイプストリングは、その他のコントロールおよび動作環境に対してそのコントロールを示す。
【００３５】
ステップ３０８が、コントロールのデータ構造を、図２を参照して開示した特徴を包含するように変更することにより実行される。マネージャは特徴をコントロールに追加することができる。特徴としては、データフィールド、ストリング、ポインタ等を挙げることができる。データ構造は、他のコントロールがそのコントロールにアクセス可能にするように変更される。さらに、ここでコントロールは、追加された特徴を介して他のコントロールにアクセスすることができる。ステップ３１０が、ステップ３０２において識別されたコントロールの追加を反映するように、動作環境内のその他のコントロールを更新することにより実行される。たとえば、その他のコントロール内のポインタアレイを、識別されたコントロールへのポインタを使用して更新することができる。さらに、当てはまるサポートメンバストリングを、コントロールについての新しい情報を使用して更新することができる。ステップ３１０は、上に述べたステップに応答して実行されるいずれの方法、アクション、プロセス、手続き等も包含する。
【００３６】
したがって、開示された実施形態によれば、動作環境内のコントロールを適合させるシステムおよび方法が開示される。コントロールを動作環境内に配置し、動作環境内で動作するように変更することができる。特定のデータ構造を持たないコントロールは、コントロールを変更することにより、特定のデータ構造を有するコントロールとインタフェースするように適合させることができる。変更されたコントロールは、他のコントロールとインタフェースするためのタイプストリング、サポートメンバストリング、およびポインタアレイを含むことができる。動作環境内のコントロールマネージャは、コントロールの変更に必要なデータおよび情報を提供することが可能である。好ましくは、コントロールはｅＲＩＴＥ構造を有するように変更される。
【００３７】
本発明の精神または範囲から逸脱することなく、様々な変更および変形を本発明の中枢機構の組立に行うことが可能なことが当業者に明らかになろう。したがって、本発明は、本発明の変更および変形を、いずれの特許請求の範囲およびそれらの等価物内にある場合、保護範囲に含むことを意図する。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施形態によるコントロールマネージャおよびコントロールを有する動作環境を示す。
【図２】本発明の実施形態による動作環境内で適合されたコントロールを示す。
【図３】本発明の実施形態による動作環境内でコントロールを適合させるフローチャートを示す。
【図１】
2005514686.tif 000003
【図２】
2005514686.tif 000004
【図３】
2005514686.tif 000005
【国際調査報告】
2005514686.tif 000006