![]() |
||||||
| WideStudio Application Builder User's Guide(Ocaml言語) | ||||||
|---|---|---|---|---|---|---|
オブジェクトにアクセスするにはイベントプロシージャにおいて、オブジェクトにアクセスすることは、最も 基本的な事柄です。いろいろな場合における、オブジェクトへのアクセス方 法を説明します。
プロシージャ関数に渡される引数によるアクセスイベントプロシージャに渡される引数を利用すると、イベントプロシージャ が貼られているクライアントオブジェクトにアクセスすることができます。
open Swig
open Mwtlib
let event_procedure obj =
(* オブジェクトへアクセス*)
obj -> setProperty ("labelString","HELLO WORLD");
()
let _ = Callback.register "event_procedure" event_procedure
obj 変数がそのクライアントインスタンスを格納する変数です。
このインスタンスに対して操作を行う場合、この obj に対して
使用したい API を呼び出します。
オブジェクト管理を利用したアクセスオブジェクト管理インスタンス(ロードモジュールにつき、一つ存在)に対し て要求すると、アクセスしたいインスタンスを取得することができます。外 部変数アクセス(下記参照)の場合と異なり、コンパイル時にシンボルのリン クをを伴いません。したがって、画面の構成によらない柔軟なプログラムを 行うことができます。
open Swig
open Mwtlib
let event_procedure obj =
(* オブジェクト管理によるインスタンスの取得(その1) *)
let instance = _WSGIappObjectList '() -> getInstance (
"WSCvlabel", (* ラベルクラス *)
"newvlab_001") (* newvlab_001 という名称 *)
in (* 得られたラベルに対するアクセス *)
instance -> setProperty ( "labelString", "HELLO WORLD");
(* オブジェクト管理によるインスタンスの取得(その2) *)
let instance2 = _WSGIappObjectList '() -> getInstance (
"WSCbase", (* どのクラスかを特定しない *)
"newvlab_002") (* newvlab_002 という名称 *)
in (* 得られたラベルに対するアクセス *)
instance2 -> setProperty ( "labelString", "HELLO WORLD");
()
let _ = Callback.register "event_procedure" event_procedure
obj もしくは obj2 がアクセスしたいインスタンスです。クラス名称とインスタンス
名称を引数にします。もしクラス名を特定したくない場合は、
"WSCbase" を与えてください。この場合はすべてのインスタンスが検索対象
となります。
外部変数による直接アクセスインスタンスを外部変数参照定義すると、外部変数としてアクセスできます。 外部変数定義は、アプリケーションビルダユーザーズガイドの [外部変数として可能なオブジェクトとするには]の節を参照下さい。
...
let event_procedure obj =
(* newvlab_001 に対して直接アクセス *)
!newvlab_001 -> setProperty ("labelString","HELLO WORLD");
let _ = Callback.register "event_procedure" event_procedure
Document Release 3.80 for WideStudio ver 3.80, Jan 2005
|
||||||
![]() |
| バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。 |
|
Copyright©WideStudio Development Team,1999-2005
|

