JPH10133878A - 対話形オブジェクトコントロールのためのコンピュータ装置 - Google Patents
対話形オブジェクトコントロールのためのコンピュータ装置Info
- Publication number
- JPH10133878A JPH10133878A JP9262315A JP26231597A JPH10133878A JP H10133878 A JPH10133878 A JP H10133878A JP 9262315 A JP9262315 A JP 9262315A JP 26231597 A JP26231597 A JP 26231597A JP H10133878 A JPH10133878 A JP H10133878A
- Authority
- JP
- Japan
- Prior art keywords
- control
- control object
- memory
- file
- mapped file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
(57)【要約】
【課題】 コンピュータ装置が、オブジェクトリンキン
グ及びエンベッディングコントロールが互いに直接伝達
し、リソースを共有することを可能にする。 【解決手段】 本発明の装置は、広く共有されたメモリ
のファイルを採用している。メモリマップドファイルは
他のコントロールに直接アクセスするコントロールのた
めのポインタを保持している。メモリマップドファイル
を用いて、コントロールオブジェクトは直接メソッドを
呼び出すことができ、望まれる他のコントロールオブジ
ェクトの属性をアクセスすることができる。メモリマッ
プドファイルはまた、各コントロールのウインドウハン
ドルを保持しており、他のコントロールをそれぞれのコ
ントロールによりサポートされたワーキングスクリーン
ビューに直接アクセスすることを可能にしている。
グ及びエンベッディングコントロールが互いに直接伝達
し、リソースを共有することを可能にする。 【解決手段】 本発明の装置は、広く共有されたメモリ
のファイルを採用している。メモリマップドファイルは
他のコントロールに直接アクセスするコントロールのた
めのポインタを保持している。メモリマップドファイル
を用いて、コントロールオブジェクトは直接メソッドを
呼び出すことができ、望まれる他のコントロールオブジ
ェクトの属性をアクセスすることができる。メモリマッ
プドファイルはまた、各コントロールのウインドウハン
ドルを保持しており、他のコントロールをそれぞれのコ
ントロールによりサポートされたワーキングスクリーン
ビューに直接アクセスすることを可能にしている。
Description
【0001】
【発明の属する技術分野】本発明は、コントロールオブ
ジェクトが機能とリソースを共有するため互いに直接対
話することができる改良されたコンピュータシステムに
関する。
ジェクトが機能とリソースを共有するため互いに直接対
話することができる改良されたコンピュータシステムに
関する。
【0002】
【従来の技術】過去数年に渡り、オブジェクト指向プロ
グラミングは、アプリケーションプログラムを使用し適
用するビジネスの方法を相当改善した。しかし、ビジネ
スを十分に自動化する多くの事項が残っている。主たる
点は、ほとんどのビジネス情報がペーパードキュメント
であるという事実から来ている。ペーパードキュメント
を維持することと関連する一つの問題は、ペーパーはコ
ンピュータシステムとうまく統合しないことである。例
えば、コンピュータは大量の顧客データを追跡すること
ができる。コンピュータに基づくデータは、顧客の課金
プロファイルや発送記録のような情報を容易に位置づけ
るために用いることができる。一方、例えばオリジナル
な署名を持ったペーパーに基づくドキュメントは、最も
必要とされるときにしばしば誤って置かれる。さらに、
ペーパードキュメント及びペーパーで捕らえた情報は、
コンピュータが捕らえた情報及びドキュメントと対照的
に、一般に他のデータ及び添付のドキュメントと別に保
管され/ファイルされる。
グラミングは、アプリケーションプログラムを使用し適
用するビジネスの方法を相当改善した。しかし、ビジネ
スを十分に自動化する多くの事項が残っている。主たる
点は、ほとんどのビジネス情報がペーパードキュメント
であるという事実から来ている。ペーパードキュメント
を維持することと関連する一つの問題は、ペーパーはコ
ンピュータシステムとうまく統合しないことである。例
えば、コンピュータは大量の顧客データを追跡すること
ができる。コンピュータに基づくデータは、顧客の課金
プロファイルや発送記録のような情報を容易に位置づけ
るために用いることができる。一方、例えばオリジナル
な署名を持ったペーパーに基づくドキュメントは、最も
必要とされるときにしばしば誤って置かれる。さらに、
ペーパードキュメント及びペーパーで捕らえた情報は、
コンピュータが捕らえた情報及びドキュメントと対照的
に、一般に他のデータ及び添付のドキュメントと別に保
管され/ファイルされる。
【0003】そういうものとして、ドキュメントイメー
ジングはビジネスオートメーション、特にオブジェクト
指向プログラミングコンセプトを実行することに関し、
主たる関心の領域である。ドキュメントイメージング
は、ペーパードキュメント/情報を電子形式に変換し、
ドキュメントの蓄積、検索及び使用が標準のコンピュー
タ技術を用いて自動化できる技術である。コンピュータ
により蓄積された電子イメージとしてペーパードキュメ
ントを捕らえることにより、データベース、Eメール、
ネットワーク、ファクシミリ及びメモリ蓄積技術のすべ
ての利益とパワーは、一度マニュアル処理された情報に
適用できる。
ジングはビジネスオートメーション、特にオブジェクト
指向プログラミングコンセプトを実行することに関し、
主たる関心の領域である。ドキュメントイメージング
は、ペーパードキュメント/情報を電子形式に変換し、
ドキュメントの蓄積、検索及び使用が標準のコンピュー
タ技術を用いて自動化できる技術である。コンピュータ
により蓄積された電子イメージとしてペーパードキュメ
ントを捕らえることにより、データベース、Eメール、
ネットワーク、ファクシミリ及びメモリ蓄積技術のすべ
ての利益とパワーは、一度マニュアル処理された情報に
適用できる。
【0004】しかしながら、他方、オブジェクト指向プ
ログラミングは、オブジェクト又はデータを一つのアプ
リケーション形態から他の形態に移す標準又はプロトコ
ルを欠いている。すなわち、イメージ文書は多くのイン
デックス及びファイリング方法を用いて電子的にファイ
ルでき、すばやくサーチし検索でき、その後多くのユー
ザで共有できるが、各タスクは共通のアプリケーション
プログラムを介してコントロールされそして管理され
る。
ログラミングは、オブジェクト又はデータを一つのアプ
リケーション形態から他の形態に移す標準又はプロトコ
ルを欠いている。すなわち、イメージ文書は多くのイン
デックス及びファイリング方法を用いて電子的にファイ
ルでき、すばやくサーチし検索でき、その後多くのユー
ザで共有できるが、各タスクは共通のアプリケーション
プログラムを介してコントロールされそして管理され
る。
【0005】マイクロソフトのオブジェクトリンキング
及びエンベッディング(OLE)は、接続可能なコンポ
ーネントソフトウエアを組み込むための一組の標準であ
る。ここに用いられているように、「コンポーネント」
は、印刷、ファクシミリ伝送、その他のようなスタンド
アロン機能を提供する再利用可能なソフトウエアの自立
片(self contained pieces)である。そういうものとし
て、コンポーネントは望まれるワーキングシステムを形
成するため他の成分に差し込まれる(即ち、結合され
る)。識別において、「オブジェクト」は幾つかの状態
及び規定された一組の行動を有するプログラミング実体
(entity)である。状態はオブジェクトにより維持され
るデータ(属性(properties))で表される。行動はオブ
ジェクトが実行できる操作、機能、又は方法の見地から
特定される。操作は実行コードにより認識される。概念
的にデータとコードはオブジェクトにおいて抜け出せな
いように共に拘束されている。オブジェクトは「持続
的」かもしれない。即ち、それらが動作していない又は
それらが存在するコンピュータが動作しなかったあるい
は停止したとしてもそれらは存在することができる。オ
ブジェクトとコンポーネントの間のキーとなる区別は、
オブジェクトはアプリケーションの部分を組み込むため
に用いることができるソースコード又はスペックの一部
であり、他方、コンポーネントは実際の動作(スタンド
アロン)ソフトウエアモジュールであることである。
及びエンベッディング(OLE)は、接続可能なコンポ
ーネントソフトウエアを組み込むための一組の標準であ
る。ここに用いられているように、「コンポーネント」
は、印刷、ファクシミリ伝送、その他のようなスタンド
アロン機能を提供する再利用可能なソフトウエアの自立
片(self contained pieces)である。そういうものとし
て、コンポーネントは望まれるワーキングシステムを形
成するため他の成分に差し込まれる(即ち、結合され
る)。識別において、「オブジェクト」は幾つかの状態
及び規定された一組の行動を有するプログラミング実体
(entity)である。状態はオブジェクトにより維持され
るデータ(属性(properties))で表される。行動はオブ
ジェクトが実行できる操作、機能、又は方法の見地から
特定される。操作は実行コードにより認識される。概念
的にデータとコードはオブジェクトにおいて抜け出せな
いように共に拘束されている。オブジェクトは「持続
的」かもしれない。即ち、それらが動作していない又は
それらが存在するコンピュータが動作しなかったあるい
は停止したとしてもそれらは存在することができる。オ
ブジェクトとコンポーネントの間のキーとなる区別は、
オブジェクトはアプリケーションの部分を組み込むため
に用いることができるソースコード又はスペックの一部
であり、他方、コンポーネントは実際の動作(スタンド
アロン)ソフトウエアモジュールであることである。
【0006】OLEは、所有する知識(データ)を共有
するソフトウエアモジュール間の統合と交換可能性の度
合いを許容する。一つのOLE標準は、コンポーネント
・オブジェクト・モデル(COM)スペックであり、そ
れは異なったコンポーネントのバイナリーオブジェクト
コードを接続するためのメカニズムを提供する。すべて
の標準OLE接続の中の共通要素は、それらがCOMと
共に接合されていることである。再度述べると、COM
は、インタフェース、コンポーネント間のコンタクトポ
イントを規定するオブジェクト指向スペックである。最
後に、COMはすべてのOLEの特徴が組み込まれる基
礎を提供する。
するソフトウエアモジュール間の統合と交換可能性の度
合いを許容する。一つのOLE標準は、コンポーネント
・オブジェクト・モデル(COM)スペックであり、そ
れは異なったコンポーネントのバイナリーオブジェクト
コードを接続するためのメカニズムを提供する。すべて
の標準OLE接続の中の共通要素は、それらがCOMと
共に接合されていることである。再度述べると、COM
は、インタフェース、コンポーネント間のコンタクトポ
イントを規定するオブジェクト指向スペックである。最
後に、COMはすべてのOLEの特徴が組み込まれる基
礎を提供する。
【0007】OLEコントロール(OCX又はアクティ
ブXと呼ぶ)は別のタイプのOLEコンポーネント標準
である。OCXは、アプリケーションプログラムに明確
な(良く定義された)機能を加えることをプログラマー
に可能にする属性(properties) 、メソッド、及びイベ
ントを含んでいる。前記機能はエンドユーザが望みのデ
ータ上で特定のタスクを実行することを可能にする。自
立オブジェクト(selfcontained object)であると、O
CXはポータブルでありどのコンテナ又はアプリケーシ
ョンプログラムにも挿入可能である。「コンテナアプリ
ケーション」又はOLE「コントロールコンテナ」(及
び一般的に「オブジェクトコンテナ」)は、その中でO
LEコンポーネント及びオブジェクトを形成し又は規定
するワーキングコンピュータプログラムである。例え
ば、オフィススウイート及びウインドウズ95のような
マイクロソフトの製品はコンテナである。このようなグ
ラフィカルユーザインタフェース(GUI)環境におい
て、ウインドウズ95のように、コントロールは本質的
にコンテナプログラムの親ウインドウにメッセージ又は
イベント通知を送る特別な目的のウインドウ(即ち、
「子供ウインドウ」)である。
ブXと呼ぶ)は別のタイプのOLEコンポーネント標準
である。OCXは、アプリケーションプログラムに明確
な(良く定義された)機能を加えることをプログラマー
に可能にする属性(properties) 、メソッド、及びイベ
ントを含んでいる。前記機能はエンドユーザが望みのデ
ータ上で特定のタスクを実行することを可能にする。自
立オブジェクト(selfcontained object)であると、O
CXはポータブルでありどのコンテナ又はアプリケーシ
ョンプログラムにも挿入可能である。「コンテナアプリ
ケーション」又はOLE「コントロールコンテナ」(及
び一般的に「オブジェクトコンテナ」)は、その中でO
LEコンポーネント及びオブジェクトを形成し又は規定
するワーキングコンピュータプログラムである。例え
ば、オフィススウイート及びウインドウズ95のような
マイクロソフトの製品はコンテナである。このようなグ
ラフィカルユーザインタフェース(GUI)環境におい
て、ウインドウズ95のように、コントロールは本質的
にコンテナプログラムの親ウインドウにメッセージ又は
イベント通知を送る特別な目的のウインドウ(即ち、
「子供ウインドウ」)である。
【0008】
【発明が解決しようとする課題】OLEコントロール
(OCXs)はインプロセスオブジェクトであり、種々
のOLEインタフェースをサポートするDLL(ダイナ
ミック・リンキング・ライブラリー)に似ている。DL
Lにエクスポートされる機能を呼ぶことができる従来の
DLLと異なり、OCXはOCXのコンテナによりアク
セスのみできる方法及び属性を表す(expose) 。即ち、
コンテナアプリケーションは中央コントローラ又は収容
された(contained)OCXの共通管理として役立つ。コ
ンテナは一つのOCXを求め、そして結果のデータを得
る。次々に、コンテナはOCXなどによるさらなる処理
のため別の適当なOCXに結果のデータを通す。異なっ
たOCXは互いに直接アクセスすることができない。こ
の制約はOCX間で直接伝達し又はコードを再利用する
ことを妨げる。
(OCXs)はインプロセスオブジェクトであり、種々
のOLEインタフェースをサポートするDLL(ダイナ
ミック・リンキング・ライブラリー)に似ている。DL
Lにエクスポートされる機能を呼ぶことができる従来の
DLLと異なり、OCXはOCXのコンテナによりアク
セスのみできる方法及び属性を表す(expose) 。即ち、
コンテナアプリケーションは中央コントローラ又は収容
された(contained)OCXの共通管理として役立つ。コ
ンテナは一つのOCXを求め、そして結果のデータを得
る。次々に、コンテナはOCXなどによるさらなる処理
のため別の適当なOCXに結果のデータを通す。異なっ
たOCXは互いに直接アクセスすることができない。こ
の制約はOCX間で直接伝達し又はコードを再利用する
ことを妨げる。
【0009】
【課題を解決するための手段】本発明は、コントロール
オブジェクトが機能とリソースを共有するため互いに直
接対話することができる改良されたコンピュータシステ
ムに関する。本発明の好ましい方法と装置は、コンテナ
レベル上のコード複雑性を著しく減少し、コンテナの種
々のコントロールに配置された方法と属性の利用性を増
加させる。
オブジェクトが機能とリソースを共有するため互いに直
接対話することができる改良されたコンピュータシステ
ムに関する。本発明の好ましい方法と装置は、コンテナ
レベル上のコード複雑性を著しく減少し、コンテナの種
々のコントロールに配置された方法と属性の利用性を増
加させる。
【0010】本発明のコンピュータシステムは、複数の
自立オブジェクト(self-containedobjects) (例え
ば、コントロールオブジェクト)を有し、各々は機能と
データエレメントを特定している。各オブジェクトは当
初共通のアプリケーションプログラムを介してのみアク
セスと実行のために規定され、ワーキングメモリにおい
てワーキングオブジェクトコンテナとして働く。しかし
ながら、本発明は、オブジェクトのアクセスにおいて共
通のアプリケーションプログラム/コンテナを用いるこ
となく、メモリマップドファイルの使用を介してオブジ
ェクト間の直接のアクセス及び伝達を可能にする。メモ
リマップドファイルは、第1オブジェクトがメモリマッ
プドファイルの第2オブジェクトへの参照を介して第2
オブジェクトを直接アクセスできるようにオブジェクト
への参照を保持する。
自立オブジェクト(self-containedobjects) (例え
ば、コントロールオブジェクト)を有し、各々は機能と
データエレメントを特定している。各オブジェクトは当
初共通のアプリケーションプログラムを介してのみアク
セスと実行のために規定され、ワーキングメモリにおい
てワーキングオブジェクトコンテナとして働く。しかし
ながら、本発明は、オブジェクトのアクセスにおいて共
通のアプリケーションプログラム/コンテナを用いるこ
となく、メモリマップドファイルの使用を介してオブジ
ェクト間の直接のアクセス及び伝達を可能にする。メモ
リマップドファイルは、第1オブジェクトがメモリマッ
プドファイルの第2オブジェクトへの参照を介して第2
オブジェクトを直接アクセスできるようにオブジェクト
への参照を保持する。
【0011】好ましい実施例において、オブジェクトは
OLEコントロールであり、アプリケーションプログラ
ムはコンテナプログラムである。コントロール間の伝達
は、コントロールを形成する異なったコンポーネントの
バイナリコードを結合するためのメカニズムを提供する
共通オブジェクトモデルを介して確立される。本発明の
一つの観点に従い、メモリマップドファイルはファイル
のブロック長又はメモリブロックサイズの表示を有す
る。好ましくは、メモリマップドファイルはコントロー
ルオブジェクト及びそのディスクリプタの表示を一覧に
するためエントリーの配列を形成される。各コントロー
ルオブジェクトに異なったエントリーがある。各エント
リーは、それぞれのコントロールオブジェクトを示すネ
ームフィールド及びそれぞれ機能的デスクリプタを示す
他のフィールドを有する一組のフィールドで構成されて
いる。ネームフィールドは、互いに伝達するすべてのコ
ントロールをリンクするために用いられる。ネームフィ
ールドは、"DestControl" と呼ばれる特別の属性におけ
るネームを特定することにより直接別のコントロールと
伝達する各コントロールにおいて特定される。
OLEコントロールであり、アプリケーションプログラ
ムはコンテナプログラムである。コントロール間の伝達
は、コントロールを形成する異なったコンポーネントの
バイナリコードを結合するためのメカニズムを提供する
共通オブジェクトモデルを介して確立される。本発明の
一つの観点に従い、メモリマップドファイルはファイル
のブロック長又はメモリブロックサイズの表示を有す
る。好ましくは、メモリマップドファイルはコントロー
ルオブジェクト及びそのディスクリプタの表示を一覧に
するためエントリーの配列を形成される。各コントロー
ルオブジェクトに異なったエントリーがある。各エント
リーは、それぞれのコントロールオブジェクトを示すネ
ームフィールド及びそれぞれ機能的デスクリプタを示す
他のフィールドを有する一組のフィールドで構成されて
いる。ネームフィールドは、互いに伝達するすべてのコ
ントロールをリンクするために用いられる。ネームフィ
ールドは、"DestControl" と呼ばれる特別の属性におけ
るネームを特定することにより直接別のコントロールと
伝達する各コントロールにおいて特定される。
【0012】機能的ディスクリプタ(functional descr
iptor)は各コントロールオブジェクトのためそれぞれの
ウインドウハンドルを有する。各ウインドウハンドル
は、ウインドウサイズ、位置及びスタイルを含むウイン
ドウを見るスクリーンエレメントを規定する。好ましい
実施形態では、メモリマップドファイルにおける各エン
トリーは、それぞれのコントロールオブジェクトに対す
るポインタを保持する参照フィールド(referencing fi
eld)を有している。
iptor)は各コントロールオブジェクトのためそれぞれの
ウインドウハンドルを有する。各ウインドウハンドル
は、ウインドウサイズ、位置及びスタイルを含むウイン
ドウを見るスクリーンエレメントを規定する。好ましい
実施形態では、メモリマップドファイルにおける各エン
トリーは、それぞれのコントロールオブジェクトに対す
るポインタを保持する参照フィールド(referencing fi
eld)を有している。
【0013】メモリマップドファイルは、コントロール
オブジェクトが機能を呼び出し(invoke)、そして、別の
コントロールオブジェクトのデータエレメント(例え
ば、ウインドウディスプレイ)を共有しそして更新する
ことを可能にする。機能はリフレッシュメソッドを有し
ている。コントロールオブジェクトの一つが別のコント
ロールオブジェクトのデータエレメント(ディスプレイ
ウインドウ)を直接更新するとき、前者のコントロール
オブジェクトは、更新されたデータエレメントを連続化
するため(例えば、データを保持し、又はディスプレイ
を更新する)、そのリフレッシュメソッドと他のコント
ロールオブジェクトのリフレッシュメソッドを呼出す。
オブジェクトが機能を呼び出し(invoke)、そして、別の
コントロールオブジェクトのデータエレメント(例え
ば、ウインドウディスプレイ)を共有しそして更新する
ことを可能にする。機能はリフレッシュメソッドを有し
ている。コントロールオブジェクトの一つが別のコント
ロールオブジェクトのデータエレメント(ディスプレイ
ウインドウ)を直接更新するとき、前者のコントロール
オブジェクトは、更新されたデータエレメントを連続化
するため(例えば、データを保持し、又はディスプレイ
を更新する)、そのリフレッシュメソッドと他のコント
ロールオブジェクトのリフレッシュメソッドを呼出す。
【0014】さらに、メモリマップドファイルは、コン
トロールオブジェクトによるリードオンリーアクセスを
可能にするため、ワーキングメモリを介して広く認識で
きる名称を提供される。種々の新規な構成の詳細及びパ
ーツの組み合わせを有した上記及び他の特徴は、より詳
細に図面を参照して記載され、そして請求の範囲におい
て指摘される。これらの特徴は、インストールしそして
メンテナンスした完全なアプリケーションプログラを参
照して述べられるが、しかし、個々のコンポーネントの
ためにも用いることができる。発明を具体化する特定の
装置と方法は、図によって示されているが、本発明を限
定するものではない。この発明の原理及び特徴は、本発
明の範囲から離れることなく種々のそして多くの実施例
において採用できる。
トロールオブジェクトによるリードオンリーアクセスを
可能にするため、ワーキングメモリを介して広く認識で
きる名称を提供される。種々の新規な構成の詳細及びパ
ーツの組み合わせを有した上記及び他の特徴は、より詳
細に図面を参照して記載され、そして請求の範囲におい
て指摘される。これらの特徴は、インストールしそして
メンテナンスした完全なアプリケーションプログラを参
照して述べられるが、しかし、個々のコンポーネントの
ためにも用いることができる。発明を具体化する特定の
装置と方法は、図によって示されているが、本発明を限
定するものではない。この発明の原理及び特徴は、本発
明の範囲から離れることなく種々のそして多くの実施例
において採用できる。
【0015】
【発明の実施の形態】図1に描かれているのは、本発明
の装置及び方法が採用されているコンピュータシステム
と対応するプログラミング環境である。一般に、コンピ
ュータシステムは、キーボード、マウス、モニタ及びプ
リンタのようなそこに結合されたI/Oアクセサリ持っ
た一つ又はそれ以上のディジタルプロセッサにより形成
される。各ディジタルプロセッサは、例えば、インテル
XX486チップ、又はペンティアム等の処理能力を持
っている。
の装置及び方法が採用されているコンピュータシステム
と対応するプログラミング環境である。一般に、コンピ
ュータシステムは、キーボード、マウス、モニタ及びプ
リンタのようなそこに結合されたI/Oアクセサリ持っ
た一つ又はそれ以上のディジタルプロセッサにより形成
される。各ディジタルプロセッサは、例えば、インテル
XX486チップ、又はペンティアム等の処理能力を持
っている。
【0016】特に、サブジェクトディジタルプロセッサ
18は、(a)アプリケーションプログラム13が実行
されるワーキングメモリ30、及び(b)I/O及び他
の機能(これは直接本発明に影響されない)を可能にす
るためのサポーティングオペレーティングシステム31
を持っている。各アプリケーションプログラム13は、
OLEコントロールオブジェクト10で形成され又は含
んでおり、そのいくらかは複数のコンテナ13で共有す
る(又は属する)ことができる。コントロールオブジェ
クト10cは、アプリケーションプログラム13a及び
13bにより共有して用いることを示すため、長方形の
破線により描かれている。
18は、(a)アプリケーションプログラム13が実行
されるワーキングメモリ30、及び(b)I/O及び他
の機能(これは直接本発明に影響されない)を可能にす
るためのサポーティングオペレーティングシステム31
を持っている。各アプリケーションプログラム13は、
OLEコントロールオブジェクト10で形成され又は含
んでおり、そのいくらかは複数のコンテナ13で共有す
る(又は属する)ことができる。コントロールオブジェ
クト10cは、アプリケーションプログラム13a及び
13bにより共有して用いることを示すため、長方形の
破線により描かれている。
【0017】図1Bに描かれているように、各コントロ
ールオブジェクト10は、(i)一組のメソッド(又は
機能及び対応する機能呼出し)12、及び(ii)オブジ
ェクト10を機能的に特定するための一組の属性14よ
り形成され及び規定されている。属性14は、リードオ
ンリー又はライトオンリーメモリに保持されたデータエ
レメントにより表される。好ましい実施例において、コ
ントロールオブジェクト10は、OCXコントロール又
はActiveXコントロール又はそのようなものであ
る。そのようなものとして、コントロールは、マイクロ
ソフトで特定されるIDispatch のような種々のOLE
インタフェース16(図1A)をサポートするインプロ
セスオブジェクトである。IDispatch インタフェース
16は、それぞれのオブジェクトの望む方法又は属性を
呼び出すため、コンテナプログラム13により用いられ
る(及び含まれる)オブジェクト10にポインタを提供
する。マイクロソフトにより規定されているように、I
Dispatch は現在、OLEコンテナプログラム13のみ
がそのオブジェクト10及びそのオブジェクトのみにア
クセスすることを許容している。
ールオブジェクト10は、(i)一組のメソッド(又は
機能及び対応する機能呼出し)12、及び(ii)オブジ
ェクト10を機能的に特定するための一組の属性14よ
り形成され及び規定されている。属性14は、リードオ
ンリー又はライトオンリーメモリに保持されたデータエ
レメントにより表される。好ましい実施例において、コ
ントロールオブジェクト10は、OCXコントロール又
はActiveXコントロール又はそのようなものであ
る。そのようなものとして、コントロールは、マイクロ
ソフトで特定されるIDispatch のような種々のOLE
インタフェース16(図1A)をサポートするインプロ
セスオブジェクトである。IDispatch インタフェース
16は、それぞれのオブジェクトの望む方法又は属性を
呼び出すため、コンテナプログラム13により用いられ
る(及び含まれる)オブジェクト10にポインタを提供
する。マイクロソフトにより規定されているように、I
Dispatch は現在、OLEコンテナプログラム13のみ
がそのオブジェクト10及びそのオブジェクトのみにア
クセスすることを許容している。
【0018】結果として、他のインプロセスオブジェク
トと違い、ダイナミックリンクライブラリー(DLL)
にエクスポートされた機能を呼び出すことができるDL
Lのように、コントロールオブジェクト10は、当初コ
ントロールオブジェクト10のコンテンナ13によりア
クセスのみされることができる方法及び属性に向ける
(expose) 。従来、この制限はコントロールオブジェク
ト10間のコードの伝達又は再利用を妨げた。即ち、先
行技術においては、ユーザー又はアプリケーションが一
組の関連したコントロールを用いるため、各コントロー
ルはコンテナのレベルを通して別個に開始されそしてコ
ントロールされた。これは、(a)各コントロールオブ
ジェクトの個々のメソッド及び属性へのアクセスを提供
するため、(b)情報を処理するため、そして(c)各
コントロールオブジェクトに情報を送るため、ユーザー
コードを必要とする。
トと違い、ダイナミックリンクライブラリー(DLL)
にエクスポートされた機能を呼び出すことができるDL
Lのように、コントロールオブジェクト10は、当初コ
ントロールオブジェクト10のコンテンナ13によりア
クセスのみされることができる方法及び属性に向ける
(expose) 。従来、この制限はコントロールオブジェク
ト10間のコードの伝達又は再利用を妨げた。即ち、先
行技術においては、ユーザー又はアプリケーションが一
組の関連したコントロールを用いるため、各コントロー
ルはコンテナのレベルを通して別個に開始されそしてコ
ントロールされた。これは、(a)各コントロールオブ
ジェクトの個々のメソッド及び属性へのアクセスを提供
するため、(b)情報を処理するため、そして(c)各
コントロールオブジェクトに情報を送るため、ユーザー
コードを必要とする。
【0019】本発明において、各コントロールオブジェ
クトそれ自身は、他のコントロールオブジェクト10と
直接伝達し、そして望むコントロールオブジェクト10
のメソッド12及び属性14を直接呼び出すため、ID
ispatch へのアクセスを持っている。即ち、本発明は、
コントロールオブジェクト10間の直接の相互伝達を可
能にするため、各コントロールオブジェクト10に他の
コントロールオブジェクト10に対するIDispatch ポ
インタを提供する。そのようなものとして、本発明は、
オブジェクト10を含むアプリケーションプログラム1
3の他のコントロールオブジェクトにより直接コントロ
ールオブジェクト10(及び特にそれらのメソッド12
と属性14)の再利用を可能にする。
クトそれ自身は、他のコントロールオブジェクト10と
直接伝達し、そして望むコントロールオブジェクト10
のメソッド12及び属性14を直接呼び出すため、ID
ispatch へのアクセスを持っている。即ち、本発明は、
コントロールオブジェクト10間の直接の相互伝達を可
能にするため、各コントロールオブジェクト10に他の
コントロールオブジェクト10に対するIDispatch ポ
インタを提供する。そのようなものとして、本発明は、
オブジェクト10を含むアプリケーションプログラム1
3の他のコントロールオブジェクトにより直接コントロ
ールオブジェクト10(及び特にそれらのメソッド12
と属性14)の再利用を可能にする。
【0020】図1Aを参照すると、これはワーキングメ
モリ30に位置するメモリマップドファイル55により
達成される。メモリマップドファイル55は、コンピュ
ータシステムの作動メモリレベルでうまく規定されたネ
ーム(well-defined name )を通してコントロールオブ
ジェクト10により広く利用される。メモリマップドフ
ァイル55は、エントリーの配列を保持し、コントロー
ルオブジェクト10へのアクセスを許可するためにファ
イルに記入された各オブジェクト10のために異ったエ
ントリー112がある。各々において、そこへのエント
リーは互いに伝達するすべてのコントロールをリンクす
るために用いられるネームフィールドを提供される。別
のコントロールと直接伝達する各コントロールにおい
て、後者のネーム(ネームフィールドからのネーム)は
前者の特別な属性で特定される。好ましい実施例におい
て、特別な属性は”DestControl"と呼ばれる。メモリマ
ップドファイル55の構成の詳細及びそのエントリー1
12は図2を参照して論じられる。
モリ30に位置するメモリマップドファイル55により
達成される。メモリマップドファイル55は、コンピュ
ータシステムの作動メモリレベルでうまく規定されたネ
ーム(well-defined name )を通してコントロールオブ
ジェクト10により広く利用される。メモリマップドフ
ァイル55は、エントリーの配列を保持し、コントロー
ルオブジェクト10へのアクセスを許可するためにファ
イルに記入された各オブジェクト10のために異ったエ
ントリー112がある。各々において、そこへのエント
リーは互いに伝達するすべてのコントロールをリンクす
るために用いられるネームフィールドを提供される。別
のコントロールと直接伝達する各コントロールにおい
て、後者のネーム(ネームフィールドからのネーム)は
前者の特別な属性で特定される。好ましい実施例におい
て、特別な属性は”DestControl"と呼ばれる。メモリマ
ップドファイル55の構成の詳細及びそのエントリー1
12は図2を参照して論じられる。
【0021】好ましい実施例において、メモリマップド
ファイル55は、ヘッディング110とそれに続くエン
トリー112a、b、cの配列を有し、各コントロール
オブジェクト10のための異なったエントリー112は
アクセスを許可する。ヘッディング110は、”Block
- Length" とラベル付けされた4バイトのフィールドか
ら形成される。このフィールドは、長い完全(integer)
フォーマットにおいて、メモリマップドファイル55の
トータルの長さの指示を提供する。エントリー112の
各々は、4つのフィールドCntrl - hWnd 20 、Name- Le
ngth 22 、Cntrl - Name 24 及びObj-Pointer 26 から
構成される。
ファイル55は、ヘッディング110とそれに続くエン
トリー112a、b、cの配列を有し、各コントロール
オブジェクト10のための異なったエントリー112は
アクセスを許可する。ヘッディング110は、”Block
- Length" とラベル付けされた4バイトのフィールドか
ら形成される。このフィールドは、長い完全(integer)
フォーマットにおいて、メモリマップドファイル55の
トータルの長さの指示を提供する。エントリー112の
各々は、4つのフィールドCntrl - hWnd 20 、Name- Le
ngth 22 、Cntrl - Name 24 及びObj-Pointer 26 から
構成される。
【0022】フィールドCntrl - hWnd 20 は、好ましく
は4バイトの長さであり、それぞれのコントロールオブ
ジェクト10のウインドウハンドルを保持している。
「ウインドウハンドル」は、コントロールウインドウの
物理的寸法、ウインドウスタイル、キャプション、及び
親ウインドウ(即ち、コンテナウインドウ)に関する他
の情報を規定している。
は4バイトの長さであり、それぞれのコントロールオブ
ジェクト10のウインドウハンドルを保持している。
「ウインドウハンドル」は、コントロールウインドウの
物理的寸法、ウインドウスタイル、キャプション、及び
親ウインドウ(即ち、コンテナウインドウ)に関する他
の情報を規定している。
【0023】サブジェクトコントロールオブジェクトの
ネームは、Cntrl - Nameフィールド24 のキャラクタス
トリングとして保持されている。このフィールドは可変
長のキャラクタストリングを許容し、Name- Lengthフィ
ールド22は、コントロールネームの長さの表示を提供す
る。好ましくは、Name- Lengthフィールド22は4バイト
の長さで、長い完全フォーマットにおいてネーム長表示
を保持している。一つの実施例において(図4及び図5
でさらに論ぜられる)、コントロールネームは、例え
ば、”IMGEDIT”、”IMGADMIN”、”I
MGTHUMB”、”IMGSCAN”、及び”IMG
ANOT”を有している。
ネームは、Cntrl - Nameフィールド24 のキャラクタス
トリングとして保持されている。このフィールドは可変
長のキャラクタストリングを許容し、Name- Lengthフィ
ールド22は、コントロールネームの長さの表示を提供す
る。好ましくは、Name- Lengthフィールド22は4バイト
の長さで、長い完全フォーマットにおいてネーム長表示
を保持している。一つの実施例において(図4及び図5
でさらに論ぜられる)、コントロールネームは、例え
ば、”IMGEDIT”、”IMGADMIN”、”I
MGTHUMB”、”IMGSCAN”、及び”IMG
ANOT”を有している。
【0024】最後に、Obj-Pointer フィールド26は、サ
ブジェクトコントロールオブジェクト10に対するIDis
patch ポインタを保持している。好ましい実施例では、
Obj-Pointer フィールド26は約4バイトの長さである。
要するに、メモリマップドファイル55は、コントロー
ル10のネームとウインドウハンドル及びIDispatch イ
ンタフェース16を通して現される(exposed)コントロ
ールオブジェクト10に対するそれぞれのインターナル
オブジェクトポインタを提供する。好ましい実施例にお
けるオブジェクトコントロール10によるメモリマップ
ドファイル55の使用は、以下の通りであり、図3に概
説されている。
ブジェクトコントロールオブジェクト10に対するIDis
patch ポインタを保持している。好ましい実施例では、
Obj-Pointer フィールド26は約4バイトの長さである。
要するに、メモリマップドファイル55は、コントロー
ル10のネームとウインドウハンドル及びIDispatch イ
ンタフェース16を通して現される(exposed)コントロ
ールオブジェクト10に対するそれぞれのインターナル
オブジェクトポインタを提供する。好ましい実施例にお
けるオブジェクトコントロール10によるメモリマップ
ドファイル55の使用は、以下の通りであり、図3に概
説されている。
【0025】そのメソッド12、属性14及びウインド
ウハンドルの直接アクセスを許す各コントロールオブジ
ェクト10(図1B)は、61における"InitInstance"
として知られた初期化プロセスにおけるコントロール1
0の初期ローディングの間、メモリマップドファイル5
5に記録する。InitInstanceを呼び出すことは、共有メ
モリ領域(shared memory region)30(図3のステップ
62)において、よく知られたネームで、専有モードに
おけるメモリマップドファイル55を開く。専有モード
においてファイル55を開くことは、最初、ファイル5
5のエントリー112が他のユーザーによる割り込み又
はアクセスなしに書き込まれることを確実にする。よく
知られた又はコントロール認識可能なネーム(control-
recognizable name)でファイル55を作成することは、
コントロール10がロードされた後で、エントリー11
2がファイル55に記録されたすべてのコントロールオ
ブジェクト10に対し読み取りアクセス可能(read acc
essible)であることを確実にする。メモリマップドファ
イル55が開かれた後、サブジェクトコントロールオブ
ジェクト10は、ファイル55に対しオブジェクト10
のためのエントリー112を作成しそして付加する。新
しく加えられたエントリー112は、上記図2で論じら
れたネーム、ネーム長、ウインドウハンドル、及びオブ
ジェクトポインタ(IDispatch から)を含む。新しいエ
ントリー112が完了した後、ファイル55のヘッディ
ング110は、新しいエントリー112を加えたファイ
ル55の新しい(より長い)長さを反映させるため更新
される。
ウハンドルの直接アクセスを許す各コントロールオブジ
ェクト10(図1B)は、61における"InitInstance"
として知られた初期化プロセスにおけるコントロール1
0の初期ローディングの間、メモリマップドファイル5
5に記録する。InitInstanceを呼び出すことは、共有メ
モリ領域(shared memory region)30(図3のステップ
62)において、よく知られたネームで、専有モードに
おけるメモリマップドファイル55を開く。専有モード
においてファイル55を開くことは、最初、ファイル5
5のエントリー112が他のユーザーによる割り込み又
はアクセスなしに書き込まれることを確実にする。よく
知られた又はコントロール認識可能なネーム(control-
recognizable name)でファイル55を作成することは、
コントロール10がロードされた後で、エントリー11
2がファイル55に記録されたすべてのコントロールオ
ブジェクト10に対し読み取りアクセス可能(read acc
essible)であることを確実にする。メモリマップドファ
イル55が開かれた後、サブジェクトコントロールオブ
ジェクト10は、ファイル55に対しオブジェクト10
のためのエントリー112を作成しそして付加する。新
しく加えられたエントリー112は、上記図2で論じら
れたネーム、ネーム長、ウインドウハンドル、及びオブ
ジェクトポインタ(IDispatch から)を含む。新しいエ
ントリー112が完了した後、ファイル55のヘッディ
ング110は、新しいエントリー112を加えたファイ
ル55の新しい(より長い)長さを反映させるため更新
される。
【0026】データ処理の間、第1のコントロールオブ
ジェクト10aのメソッド又は機能は、図3のステップ
64で呼び出される。コントロールオブジェクト10a
は、特定のメソッドによるさらなる処理が次に必要であ
る/望まれることを決めることができる。コントロール
オブジェクト10aはメモリマップドファイル55を見
守る。コントロールオブジェクト10aは、ワーキング
メモリ30のメモリマップドファイル55の良く知られ
た(グローバルな)ネームのため、いかにファイル55
にアクセスするかを知っており、コントロールオブジェ
クト10aは、コントロール10aがファイル55の構
造体(フィールド構成)を知っているため、いかにファ
イル55を読むか知っている。コントロール10Aは、
特別な属性”DestControl"のネームをメモリマップドフ
ァイルに蓄えられたコントロールネームと比較すること
によって、どのコントロールで伝達するかを知ってい
る。メモリマップドファイル55とその中の記録された
/利用可能なコントロール10のリストを通してみる
と、コントロールオブジェクト10aは、コントロール
の機能に基づいて呼び出す別のコントロールオブジェク
ト10bの適切な方法を決定する。望まれるコントロー
ルオブジェクト10bのためのファイルエントリー11
2からオブジェクトポインタフィールド26を用いて、
コントロールオブジェクト10aは、ステップ65でID
ispatch を通してコントロールオブジェクト10bと、
直接伝達する。特に、コントロールオブジェクト10a
はオブジェクト10b(ステップ66)の望まれるメソ
ッドを直接呼び出す。
ジェクト10aのメソッド又は機能は、図3のステップ
64で呼び出される。コントロールオブジェクト10a
は、特定のメソッドによるさらなる処理が次に必要であ
る/望まれることを決めることができる。コントロール
オブジェクト10aはメモリマップドファイル55を見
守る。コントロールオブジェクト10aは、ワーキング
メモリ30のメモリマップドファイル55の良く知られ
た(グローバルな)ネームのため、いかにファイル55
にアクセスするかを知っており、コントロールオブジェ
クト10aは、コントロール10aがファイル55の構
造体(フィールド構成)を知っているため、いかにファ
イル55を読むか知っている。コントロール10Aは、
特別な属性”DestControl"のネームをメモリマップドフ
ァイルに蓄えられたコントロールネームと比較すること
によって、どのコントロールで伝達するかを知ってい
る。メモリマップドファイル55とその中の記録された
/利用可能なコントロール10のリストを通してみる
と、コントロールオブジェクト10aは、コントロール
の機能に基づいて呼び出す別のコントロールオブジェク
ト10bの適切な方法を決定する。望まれるコントロー
ルオブジェクト10bのためのファイルエントリー11
2からオブジェクトポインタフィールド26を用いて、
コントロールオブジェクト10aは、ステップ65でID
ispatch を通してコントロールオブジェクト10bと、
直接伝達する。特に、コントロールオブジェクト10a
はオブジェクト10b(ステップ66)の望まれるメソ
ッドを直接呼び出す。
【0027】代わりに又は加えて、処理の間コントロー
ルオブジェクト10aは、別のコントロールオブジェク
ト10bのワーキングウインドウ(又は他のデータエレ
メント)を直接更新できる。これは、コントロールオブ
ジェクト10bのためのメモリマップドファイルエント
リー112を通してコントロールオブジェクト10bの
ウインドウハンドルを得てコントロールオブジェクト1
0bにより達成できる。第1のコントロールオブジェク
ト10aがコントロールオブジェクト10bのウインド
ウハンドルを得た後、コントロールオブジェクト10a
は望みのコントロールオブジェクト10bのワーキング
ウインドウに直接サブジェクトデータを送る(ペイント
する)。加えて、コントロールオブジェクト10aは、
メモリマップドファイル55のオブジェクト10bのた
めのファイルエントリー112からIDispatch オブジェ
クトポインタを取り出し、そして、コントロールオブジ
ェクト10bのリフレッシュメソッドを直接実施する
(呼び出す)。これに応えて、コントロールオブジェク
ト10bは、そのリフレッシュメソッドが実行され、そ
してそのワーキングウインドウの内容が変化したことを
理解していることに基づいていることを認識する。その
ロジックを続けることにより、コントロールオブジェク
ト10bはイメージデータを見、そしてコントロールオ
ブジェクト10a(オブジェクト10bに知られていな
い)によりそこに提供されたウインドウ及びデータの存
在を認識する。コントロールオブジェクト10bは、第
1のコントロールオブジェクト10aによりそのウイン
ドウになされた変化をシーズ化する(serialize )(ス
テップ69)。
ルオブジェクト10aは、別のコントロールオブジェク
ト10bのワーキングウインドウ(又は他のデータエレ
メント)を直接更新できる。これは、コントロールオブ
ジェクト10bのためのメモリマップドファイルエント
リー112を通してコントロールオブジェクト10bの
ウインドウハンドルを得てコントロールオブジェクト1
0bにより達成できる。第1のコントロールオブジェク
ト10aがコントロールオブジェクト10bのウインド
ウハンドルを得た後、コントロールオブジェクト10a
は望みのコントロールオブジェクト10bのワーキング
ウインドウに直接サブジェクトデータを送る(ペイント
する)。加えて、コントロールオブジェクト10aは、
メモリマップドファイル55のオブジェクト10bのた
めのファイルエントリー112からIDispatch オブジェ
クトポインタを取り出し、そして、コントロールオブジ
ェクト10bのリフレッシュメソッドを直接実施する
(呼び出す)。これに応えて、コントロールオブジェク
ト10bは、そのリフレッシュメソッドが実行され、そ
してそのワーキングウインドウの内容が変化したことを
理解していることに基づいていることを認識する。その
ロジックを続けることにより、コントロールオブジェク
ト10bはイメージデータを見、そしてコントロールオ
ブジェクト10a(オブジェクト10bに知られていな
い)によりそこに提供されたウインドウ及びデータの存
在を認識する。コントロールオブジェクト10bは、第
1のコントロールオブジェクト10aによりそのウイン
ドウになされた変化をシーズ化する(serialize )(ス
テップ69)。
【0028】シリーズ化は二つの形、データ変化を蓄え
ることにより、又はデータ内容が変化したためウインド
ウ表示を単に更新することにより、達成することができ
る。図3のステップ69で、シリーズ化のこれらの形の
どちらか又は両方が行われる。好ましい実施例におい
て、リフレッシュメソッドは、オブジェクト10に組み
込まれたスタンダードのOLE方法である。リフレッシ
ュメソッドは、ディスプレイの強制更新をするためコン
トロールオブジェクト10にそのワーキングウインドウ
の再ペイントを実行することを命ずる。ワーキングウイ
ンドウの再ペイントは、新しいデータをエンドユーザー
に見えるようにする。このように、コントロールオブジ
ェクト10aのコントロールオブジェクト10bのリフ
レッシュメソッドへの呼出しは、コントロールオブジェ
クト10bをタイムリーなやり方でそのウインドウにな
される変化をシリーズ化することを許容する。
ることにより、又はデータ内容が変化したためウインド
ウ表示を単に更新することにより、達成することができ
る。図3のステップ69で、シリーズ化のこれらの形の
どちらか又は両方が行われる。好ましい実施例におい
て、リフレッシュメソッドは、オブジェクト10に組み
込まれたスタンダードのOLE方法である。リフレッシ
ュメソッドは、ディスプレイの強制更新をするためコン
トロールオブジェクト10にそのワーキングウインドウ
の再ペイントを実行することを命ずる。ワーキングウイ
ンドウの再ペイントは、新しいデータをエンドユーザー
に見えるようにする。このように、コントロールオブジ
ェクト10aのコントロールオブジェクト10bのリフ
レッシュメソッドへの呼出しは、コントロールオブジェ
クト10bをタイムリーなやり方でそのウインドウにな
される変化をシリーズ化することを許容する。
【0029】好ましい実施例において、メモリマップド
ファイル55は、一時的メモリオブジェクトとして存在
し、そして、コンテナプログラム13が有効範囲(scop
e )から出る(即ち、アプリケーションプログラム13
はキャンセルされ又は閉じられる等される)とき、アン
ロードされる。コンテナプログラム13が有効範囲から
出るとき、コントロール10上の参照カウントはゼロに
セットされる。コントロール10の参照カウントがゼロ
のとき、コントロール10はワーキングメモリからアン
ロードされ、メモリマップドファイル55のエントリー
は削除される。コントロール10は、ExitInstanceと呼
ばれるスタンダードエントリーポイントを通してアンロ
ードされる。好ましくは、ExitInstanceは、DDL又は
OLEがアンロードされたとき呼び込まれるスタンダー
ドエントリーポイントである。
ファイル55は、一時的メモリオブジェクトとして存在
し、そして、コンテナプログラム13が有効範囲(scop
e )から出る(即ち、アプリケーションプログラム13
はキャンセルされ又は閉じられる等される)とき、アン
ロードされる。コンテナプログラム13が有効範囲から
出るとき、コントロール10上の参照カウントはゼロに
セットされる。コントロール10の参照カウントがゼロ
のとき、コントロール10はワーキングメモリからアン
ロードされ、メモリマップドファイル55のエントリー
は削除される。コントロール10は、ExitInstanceと呼
ばれるスタンダードエントリーポイントを通してアンロ
ードされる。好ましくは、ExitInstanceは、DDL又は
OLEがアンロードされたとき呼び込まれるスタンダー
ドエントリーポイントである。
【0030】描くためであり限定するためでなく、図4
及び図5は、イメージビューイングアプリケーション7
1を通した、本発明の上記方法及び装置を示したもので
ある。図4において、イメージアプリケーション71
は、五つのOLEコントロール、即ち、イメージエディ
ット(Image Edit)73、アノテーションツールバー
(Annotation toolbar)75、サムネイル(Thumbnail)
76、スキャン(Scan)74、及びアドミニストレーシ
ョン(Administration)72、のコントローラとして役
立つ。InitInstanceを用いて、イメージアプリケーショ
ン71はコントロールオブジェクト72、73、74、
75、76、をワーキングメモリにロードし、各々はそ
れぞれのメソッドと属性を持っている。各コントロール
72、73、74、75、76は、InitInstanceの間に
メモリマップドファイルのそれぞれのエントリー112
を作成し記録する。図5は図4のイメージコンテナアプ
リケーション71のスクリーンショットを描いたもので
ある。
及び図5は、イメージビューイングアプリケーション7
1を通した、本発明の上記方法及び装置を示したもので
ある。図4において、イメージアプリケーション71
は、五つのOLEコントロール、即ち、イメージエディ
ット(Image Edit)73、アノテーションツールバー
(Annotation toolbar)75、サムネイル(Thumbnail)
76、スキャン(Scan)74、及びアドミニストレーシ
ョン(Administration)72、のコントローラとして役
立つ。InitInstanceを用いて、イメージアプリケーショ
ン71はコントロールオブジェクト72、73、74、
75、76、をワーキングメモリにロードし、各々はそ
れぞれのメソッドと属性を持っている。各コントロール
72、73、74、75、76は、InitInstanceの間に
メモリマップドファイルのそれぞれのエントリー112
を作成し記録する。図5は図4のイメージコンテナアプ
リケーション71のスクリーンショットを描いたもので
ある。
【0031】概要によると、主ワーキングコントロール
はイメージエディットコントロールオブジェクト73で
ある。属性を操作し、そしてこのコントロールオブジェ
クト73の方法を呼び出すことにより、エンドユーザー
はイメージドキュメントを表示しそして管理することが
できる。例えば、このコントロールオブジェクト73を
通して、イメージドキュメントが開かれ又作成され、そ
して頁が見られ又削除される。見られた頁は種々のイン
タラクティブツールを用いてスクロールされ、基準化さ
れ(scaled)、そして回転される。
はイメージエディットコントロールオブジェクト73で
ある。属性を操作し、そしてこのコントロールオブジェ
クト73の方法を呼び出すことにより、エンドユーザー
はイメージドキュメントを表示しそして管理することが
できる。例えば、このコントロールオブジェクト73を
通して、イメージドキュメントが開かれ又作成され、そ
して頁が見られ又削除される。見られた頁は種々のイン
タラクティブツールを用いてスクロールされ、基準化さ
れ(scaled)、そして回転される。
【0032】アノテーションツールバーコントロールオ
ブジェクト75は、カスタム化されたツールバーが組み
込まれることを許容する。例えば、多分エンドユーザー
は、絶えず属性を変化させている一つのペンよりも、ワ
ーキングパレット上で三つの異なった色を特に明るくす
るペン(three different color hightlighting pens)
を望んでいる。アノテーションツールバーコントロール
オブジェクト75は、インタラクティブインタフェース
及びそのような変化を有効にするサポート処理を提供す
る。
ブジェクト75は、カスタム化されたツールバーが組み
込まれることを許容する。例えば、多分エンドユーザー
は、絶えず属性を変化させている一つのペンよりも、ワ
ーキングパレット上で三つの異なった色を特に明るくす
るペン(three different color hightlighting pens)
を望んでいる。アノテーションツールバーコントロール
オブジェクト75は、インタラクティブインタフェース
及びそのような変化を有効にするサポート処理を提供す
る。
【0033】サムネイルコントロール76は、個々のド
キュメントページのサムネイル表現が望み通りに表示さ
れることを可能にする視覚によるインタフェースを提供
する。スキャンコントロール72は、スキャナオプショ
ンを管理し、スキャンプロセスをコントロールし、そし
てラスタイメージデータをイメージドキュメントファイ
ルにターンさせるため工業標準スキャナと通信するTW
AINドライバを用いる。
キュメントページのサムネイル表現が望み通りに表示さ
れることを可能にする視覚によるインタフェースを提供
する。スキャンコントロール72は、スキャナオプショ
ンを管理し、スキャンプロセスをコントロールし、そし
てラスタイメージデータをイメージドキュメントファイ
ルにターンさせるため工業標準スキャナと通信するTW
AINドライバを用いる。
【0034】アドミニストレーションコントロール72
は、シーンの後ろ(背景)を操作する。アドミニストレ
ーションコントロール72は、ローカル及び向き直され
たイメージファイルのためのイメージファイルサポー
ト、及びイメージに特有の共通ダイアログボックスサポ
ートを提供する。一般的なイメージファイルサポート
は、ユーザーがディレクトリを作成し、ディレクトリ及
びイメージファイルを削除し、イメージファイル属性
(attribute)を検索し、イメージファイル属性デフォル
トを管理することを可能にする。ユーザーは複数ページ
イメージファイルに頁を附加し、挿入し、差し替えるこ
とができる。加えて、このコントロールは共通ダイアロ
グボックスのディスプレイをサポートし、イメージファ
イルを選択し、又はプリントするときイメージ特定オプ
ションを提供する。
は、シーンの後ろ(背景)を操作する。アドミニストレ
ーションコントロール72は、ローカル及び向き直され
たイメージファイルのためのイメージファイルサポー
ト、及びイメージに特有の共通ダイアログボックスサポ
ートを提供する。一般的なイメージファイルサポート
は、ユーザーがディレクトリを作成し、ディレクトリ及
びイメージファイルを削除し、イメージファイル属性
(attribute)を検索し、イメージファイル属性デフォル
トを管理することを可能にする。ユーザーは複数ページ
イメージファイルに頁を附加し、挿入し、差し替えるこ
とができる。加えて、このコントロールは共通ダイアロ
グボックスのディスプレイをサポートし、イメージファ
イルを選択し、又はプリントするときイメージ特定オプ
ションを提供する。
【0035】本発明に関し、例えば、イメージアプリケ
ーション71はスキャンコントロールオブジェクト74
にスキャン及びディスプレイコマンドを出す。スキャン
コントロールオブジェクト74は、スキャン操作の間に
スキャナから列イメージデータ(ラスタデータビット)
を受ける。スキャンコントロールオブジェクト74は、
次にデータのビットについて何をするか決定する。最初
のコマンドに従い、スキャンされたイメージが表示さ
れ、スキャンコントロールオブジェクト74は"DestCon
trol" 属性(property) ネームを見、そしてディスプレ
イコントロールのためメモリマップドファイル55をサ
ーチするためこのネームを用いる。メモリマップドファ
イル55のエントリー112のアレイから、スキャンコ
ントロールオブジェクト74はInitInstanceの間、ファ
イル55において作成されたエントリー112にイメー
ジエディットコントロールオブジェクト73を見いだ
す。
ーション71はスキャンコントロールオブジェクト74
にスキャン及びディスプレイコマンドを出す。スキャン
コントロールオブジェクト74は、スキャン操作の間に
スキャナから列イメージデータ(ラスタデータビット)
を受ける。スキャンコントロールオブジェクト74は、
次にデータのビットについて何をするか決定する。最初
のコマンドに従い、スキャンされたイメージが表示さ
れ、スキャンコントロールオブジェクト74は"DestCon
trol" 属性(property) ネームを見、そしてディスプレ
イコントロールのためメモリマップドファイル55をサ
ーチするためこのネームを用いる。メモリマップドファ
イル55のエントリー112のアレイから、スキャンコ
ントロールオブジェクト74はInitInstanceの間、ファ
イル55において作成されたエントリー112にイメー
ジエディットコントロールオブジェクト73を見いだ
す。
【0036】ファイルエントリー112から、スキャン
コントロールオブジェクト74は、イメージエディット
コントロールオブジェクト73のためウインドウハンド
ル及びIDispatch オブジェクトポインタを得る。ウイン
ドウハンドルを用いて、スキャンコントロールオブジェ
クト74は、スキャンされたイメージを表示するためス
キャンされたイメージデータを直接イメージエディット
コントロールオブジェクト73のワーキングウインドウ
にペイントする。加えて、イメージエディットコントロ
ールオブジェクト73に対するIDispatch オブジェクト
ポインタを用いて、スキャンコントロールオブジェクト
74は、イメージエディットオブジェクト73のリフレ
ッシュメソッドを呼出す。スキャンコントロールオブジ
ェクト74からのリフレッシュメソッドの呼出しに応答
して、イメージエディットオブジェクト73は、今新し
いディスプレイデータがあることを理解して、そのワー
キングウインドウにおける表示をリペイントする。即
ち、イメージエディットコントロール73のリフレッシ
ュメソッドは、コントロールがスキャンコントロール7
4によりされたウインドウ内容の変化をシリーズ化する
ことを許容する。
コントロールオブジェクト74は、イメージエディット
コントロールオブジェクト73のためウインドウハンド
ル及びIDispatch オブジェクトポインタを得る。ウイン
ドウハンドルを用いて、スキャンコントロールオブジェ
クト74は、スキャンされたイメージを表示するためス
キャンされたイメージデータを直接イメージエディット
コントロールオブジェクト73のワーキングウインドウ
にペイントする。加えて、イメージエディットコントロ
ールオブジェクト73に対するIDispatch オブジェクト
ポインタを用いて、スキャンコントロールオブジェクト
74は、イメージエディットオブジェクト73のリフレ
ッシュメソッドを呼出す。スキャンコントロールオブジ
ェクト74からのリフレッシュメソッドの呼出しに応答
して、イメージエディットオブジェクト73は、今新し
いディスプレイデータがあることを理解して、そのワー
キングウインドウにおける表示をリペイントする。即
ち、イメージエディットコントロール73のリフレッシ
ュメソッドは、コントロールがスキャンコントロール7
4によりされたウインドウ内容の変化をシリーズ化する
ことを許容する。
【0037】順次、イメージエディットコントロール7
3は、アドミニストレーションコントロール72に対す
るIDispatch オブジェクトポインタを得るためにメモリ
マップドファイル55を見る。イメージエディットコン
トロール73は、イメージデータをディスクに蓄えるた
めアドミニストレーションコントロール72における方
法に直接アクセスするためそのポインタを用いる。
3は、アドミニストレーションコントロール72に対す
るIDispatch オブジェクトポインタを得るためにメモリ
マップドファイル55を見る。イメージエディットコン
トロール73は、イメージデータをディスクに蓄えるた
めアドミニストレーションコントロール72における方
法に直接アクセスするためそのポインタを用いる。
【0038】それは本発明が目指すコントロールオブジ
ェクト73、74、72、その他の間のこの直接の協力
と伝達である。従来、先行技術のシステムは、(i) スキ
ャンオブジェクト74からスキャンイメージデータを検
索し、そして(ii)続いてそのデータを、望まれるワーキ
ングウインドウに表示するためイメージエディットコン
トロール73と、ディスクに蓄えるためアドミニストレ
ーションコントロール72に提供する。そういうものと
して、本発明はタスクの達成/データの処理を効率よく
かつ早く行えるようにする。本発明はまた、コマンド/
実行時までコントロールオブジェクトをロードすること
を抑制することによりメモリスペースを節約する。さら
に、本発明は、アプリケーションコンテナの他のコント
ロールによる直接コントロールの再使用を可能にする。均 等 物 本発明はその好ましい実施例を参照して特に示し、そし
て記載したが、添付された請求の範囲に規定されている
ように、この発明の精神及び範囲から逸脱せずに形及び
詳細を種々に変更できることは当業者であれば理解でき
るものである。
ェクト73、74、72、その他の間のこの直接の協力
と伝達である。従来、先行技術のシステムは、(i) スキ
ャンオブジェクト74からスキャンイメージデータを検
索し、そして(ii)続いてそのデータを、望まれるワーキ
ングウインドウに表示するためイメージエディットコン
トロール73と、ディスクに蓄えるためアドミニストレ
ーションコントロール72に提供する。そういうものと
して、本発明はタスクの達成/データの処理を効率よく
かつ早く行えるようにする。本発明はまた、コマンド/
実行時までコントロールオブジェクトをロードすること
を抑制することによりメモリスペースを節約する。さら
に、本発明は、アプリケーションコンテナの他のコント
ロールによる直接コントロールの再使用を可能にする。均 等 物 本発明はその好ましい実施例を参照して特に示し、そし
て記載したが、添付された請求の範囲に規定されている
ように、この発明の精神及び範囲から逸脱せずに形及び
詳細を種々に変更できることは当業者であれば理解でき
るものである。
【0039】例えば、メモリマップドファイルオブジェ
クトポインタは、ポインタが望まれるコントロールオブ
ジェクトのメソッド及び属性への望むオブジェクトダイ
レクトアクセスを提供する限り、それぞれのコントロー
ルオブジェクトに対する他のインターナルオブジェクト
ポインタであってもよい。
クトポインタは、ポインタが望まれるコントロールオブ
ジェクトのメソッド及び属性への望むオブジェクトダイ
レクトアクセスを提供する限り、それぞれのコントロー
ルオブジェクトに対する他のインターナルオブジェクト
ポインタであってもよい。
【図1】本発明を具体的に示すコンピュータシステムの
ブロック図である。
ブロック図である。
【図2】図1で描かれた本発明の実施例に採用された広
く共有されたメモリファイルの詳細なブロック図であ
る。
く共有されたメモリファイルの詳細なブロック図であ
る。
【図3】本発明方法を記載したプロセスフロー図であ
る。
る。
【図4】本発明の方法及び装置を実行するイメージビュ
ーイングアプリケーションを記載した図である。
ーイングアプリケーションを記載した図である。
【図5】図4のイメージコンテナアプリケーションのス
クリーンショットを描いた図である。
クリーンショットを描いた図である。
10…コントロールオブジェクト 12…メソッド 13…アプリケーションプログラム 14…属性 16…インタフェース 18…サブジェクトディジタルプロセッサ 30…ワーキングメモリ 31…サポーティングオペレーションシステム 55…メモリマップドファイル 71…イメージビューイングアプリケーション 72…アドミニストレーション 73…イメージエディット 74…スキャン 75…アノテーションツールバー 76…サムネイル 110…ヘッディング 112…エントリー
Claims (1)
- 【請求項1】 各アプリケーションプログラムが一組の
プログラムオブジェクトとコンポーネントにより構成さ
れているアプリケーションプログラムを実行するための
ワーキングメモリを有するディジタルプロセッサにおい
て、共通アプリケーションプログラムに含まれるプログ
ラムオブジェクト間の伝達を可能にするためのコンピュ
ータ装置であって、該装置は、 ワーキングメモリにある共通アプリケーションプログラ
ムに含まれる複数のコントロールオブジェクトであっ
て、各コントロールオブジェクトは、(i) 機能、特別な
属性、及びデータエレメントを特定し、そして(ii)共通
アプリケーションプログラムを通してのみアクセス及び
実行のために当初規定されており、該アプリケーション
プログラムはワーキングオブジェクトコンテナとして役
立つものである複数のコントロールオブジェクト、及
び、 異なったコントロールオブジェクト間のアクセス及び伝
達を可能にするためのワーキングメモリのメモリマップ
ドファイルであって、該メモリマップドファイルはコン
トロールオブジェクトに対する参照を保持しており、各
コントロールオブジェクトは異なった参照であり、第1
のコントロールオブジェクトはメモリマップドファイル
の第2のコントロールオブジェクトに対する参照を通し
て第2のコントロールオブジェクトに直接アクセスでき
るものであり、第2のコントロールオブジェクトをアク
セスする際、アプリケーションプログラムに連携するこ
とのないメモリマップドファイル、を有するコンピュー
タ装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/722,366 US6161148A (en) | 1996-09-27 | 1996-09-27 | Computer method and apparatus for interactive objects controls |
US08/722366 | 1996-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10133878A true JPH10133878A (ja) | 1998-05-22 |
Family
ID=24901554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9262315A Pending JPH10133878A (ja) | 1996-09-27 | 1997-09-26 | 対話形オブジェクトコントロールのためのコンピュータ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6161148A (ja) |
JP (1) | JPH10133878A (ja) |
DE (1) | DE19742804A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010521033A (ja) * | 2007-03-09 | 2010-06-17 | マイクロソフト コーポレーション | ユーザーインターフェース要素を用いた分離、管理および通信 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393135B1 (en) * | 1997-12-23 | 2002-05-21 | Pitney Bowes Inc. | OLE automation server for manipulation of mail piece data |
US7010177B1 (en) * | 1998-08-27 | 2006-03-07 | Intel Corporation | Portability of digital images |
US6799320B1 (en) * | 1998-12-16 | 2004-09-28 | Microsoft Corporation | Providing binding options for component interfaces |
US6405149B1 (en) * | 1999-06-23 | 2002-06-11 | Louis K. Tsai | System and method for testing a telecommunication system |
JP3922841B2 (ja) * | 1999-08-24 | 2007-05-30 | 富士通株式会社 | 共通インスタンス管理方式を適用したファイル更新方法及び装置 |
US6851104B1 (en) * | 2000-08-14 | 2005-02-01 | Rodrigues Da Silva Fernando Jose Barros | System and method for programming using independent and reusable software units |
US20020156792A1 (en) * | 2000-12-06 | 2002-10-24 | Biosentients, Inc. | Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs |
US20100223295A1 (en) * | 2000-12-06 | 2010-09-02 | Io Informatics, Inc. | Applied Semantic Knowledgebases and Applications Thereof |
US6985903B2 (en) * | 2002-01-25 | 2006-01-10 | Qualcomm, Incorporated | Method and system for storage and fast retrieval of digital terrain model elevations for use in positioning systems |
JP4458929B2 (ja) * | 2003-07-16 | 2010-04-28 | キヤノン株式会社 | プログラム間通信装置、プログラム間通信方法、コンピュータ読み取り可能な記録媒体およびプログラム |
US8528003B2 (en) * | 2003-10-27 | 2013-09-03 | Yahoo! Inc. | Communication among browser windows |
ATE489114T1 (de) * | 2004-02-11 | 2010-12-15 | Procter & Gamble | Hydrophobe oberflächenbeschichtete saugfähige artikel |
US7680250B1 (en) | 2004-11-24 | 2010-03-16 | Interactive Quality Services | Interactive method and system of testing an automated call telephonic communication system |
JP4140605B2 (ja) * | 2004-12-22 | 2008-08-27 | 村田機械株式会社 | 画像処理装置 |
WO2007006120A1 (en) * | 2005-04-18 | 2007-01-18 | Research In Motion Limited | Method and system for executing a container-managed application on a processing device |
US9052973B2 (en) * | 2005-11-07 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Inter-process communication mechanism |
US20070283117A1 (en) * | 2006-06-05 | 2007-12-06 | Microsoft Corporation | Unmanaged memory accessor |
US8095513B2 (en) * | 2006-06-05 | 2012-01-10 | Microsoft Corporation | Safe buffer |
US8248636B1 (en) | 2006-12-29 | 2012-08-21 | Google Inc. | WYSIWYG printing for web based applications |
US7895296B1 (en) * | 2006-12-29 | 2011-02-22 | Google, Inc. | Local storage for web based native applications |
US8539073B1 (en) | 2006-12-29 | 2013-09-17 | Google Inc. | Startup of container applications |
US8612547B1 (en) | 2006-12-29 | 2013-12-17 | Google Inc. | Container interrupt services |
US9384346B1 (en) | 2006-12-29 | 2016-07-05 | Google Inc. | Local service access within a web based application framework |
US8335817B1 (en) | 2006-12-29 | 2012-12-18 | Google Inc. | Message passing within a web based application framework |
CN102722485B (zh) * | 2011-03-29 | 2014-09-03 | 恒生电子股份有限公司 | 一种内存数据集感知方法及装置 |
CN109976764A (zh) * | 2019-03-28 | 2019-07-05 | 深圳市创联时代科技有限公司 | 一种句柄转换方法 |
CN111242705B (zh) * | 2019-12-31 | 2023-12-26 | 航天信息股份有限公司企业服务分公司 | 一种发票数据的获取方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870088A (en) * | 1996-05-09 | 1999-02-09 | National Instruments Corporation | System and method for editing a control via direct graphical user interaction |
-
1996
- 1996-09-27 US US08/722,366 patent/US6161148A/en not_active Expired - Lifetime
-
1997
- 1997-09-26 JP JP9262315A patent/JPH10133878A/ja active Pending
- 1997-09-27 DE DE19742804A patent/DE19742804A1/de not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010521033A (ja) * | 2007-03-09 | 2010-06-17 | マイクロソフト コーポレーション | ユーザーインターフェース要素を用いた分離、管理および通信 |
Also Published As
Publication number | Publication date |
---|---|
DE19742804A1 (de) | 1998-04-02 |
US6161148A (en) | 2000-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10133878A (ja) | 対話形オブジェクトコントロールのためのコンピュータ装置 | |
US7607095B2 (en) | Method and apparatus for binding user interface objects to application objects | |
US6177939B1 (en) | Method of saving sections of a document to random access memory | |
US6401101B1 (en) | Method, server/computer and data structure for implementation of complex objects in an object-oriented database | |
US5261098A (en) | Method and apparatus for deriving object type and obtaining object type attribute values | |
US5771380A (en) | Method for information retrieval with scaled down images | |
US6006279A (en) | Plug-in module host framework | |
EP0578209B1 (en) | Method and system for organizing internal structure of a file | |
US6944819B2 (en) | Computer method and apparatus for previewing files outside of an application program | |
US5933599A (en) | Apparatus for presenting the content of an interactive on-line network | |
US6401097B1 (en) | System and method for integrated document management and related transmission and access | |
US7406664B1 (en) | System for integrating HTML Web site views into application file dialogs | |
US20020109725A1 (en) | Control apparatus and control method for starting application software on a computer, and multi-monitor computer, client-server system, and storage medium using the same | |
US5729745A (en) | Methods and apparatus for creating a base class for manipulating external data connections in a computer generated document | |
WO1995015524A1 (en) | Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system | |
JPH09502037A (ja) | オブジェクト指向ナビゲーション・システム | |
JPH08297669A (ja) | 複合ドキュメント内の複数のパートを自動的にリンクするシステムおよび方法 | |
US7774796B2 (en) | Methods of factoring operating system functions, methods of converting operating systems, and related apparatus | |
US7334235B2 (en) | Operating system application programming interfaces and methods of using operating systems | |
EP0731942B1 (en) | Methods and apparatus for creating and managing dynamic property sheets | |
US20040267811A1 (en) | Host initiated display, host initiated display application program interface, and host initiated display method | |
US12014139B2 (en) | Methods for polymorphic data in spreadsheets | |
EP0769169B1 (en) | A network component system | |
JPH08241306A (ja) | 文書処理装置 | |
Spell | Adding Cut-and-Paste Functionality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071113 |