Vlr-acdb-reactor
- 構文
 - (vlr-acdb-reactor data callbacks)
 
- 機能
 - 図面データベースにオブジェクトが追加、修正、削除されたときに通知するリアクタ オブジェクトを作成する。
 - vlr-acdb-reactor 関数は、データベース リアクタ オブジェクトを作成する。
 
- 引数
 - 
- data : リアクタ オブジェクトに関連付ける任意の AutoLISP データ。または、関連付けるデータが存在しない場合は nil。
 - callbacks : 次の形式のペアのリスト。
 
- (event-name . callback_function)
 - event-name は、次の「データベース リアクタ イベント」の表にあるシンボルの 1 つ。
 - callback_function は、イベントが発生したときに呼び出される関数を示すシンボル。 各コールバック関数は、次の 2 つの引数を受け入れる。
- reactor_object : コールバック関数を呼び出した VLR オブジェクト
 - obj : イベントに関連付けられたデータベース オブジェクト(AutoLISP 図形)。
 
 
 
データベース リアクタ イベント 名前 イベント :vlr-objectAppended オブジェクトが図面データベースに追加された直後 :vlr-objectUnAppended オブジェクトが図面データベースからアタッチ解除された直後。UNDO が使用された場合など。 :vlr-objectReAppended オブジェクトが図面データベースに復元された直後。REDO が使用された場合など。 :vlr-objectOpenedForModify オブジェクトが変更される直前 :vlr-objectModified オブジェクトが変更された直後 :vlr-objectErased オブジェクトに削除フラグが設定された直後 :vlr-objectUnErased オブジェクトの削除フラグが解除された直後 
- 戻り値
 - 作成されたリアクタ オブジェクト。
 
- サンプル
 - 次の例は、DTEXTとMTEXTに対して変更リアクタオブジェクトを作成している。
 
 ; イベントコールバックのドットペアリスト作成
 (defun evtObjectModified (objReactor lstObjectModified / objModified)
  (setq objModified (vlax-ename->vla-object (cadr lstObjectModified)))
  (if (and (wcmatch (vla-get-objectname objModified) "AcDbMText,AcDbText")
           (not blnRerun))
    (setq lstObjectsModified (cons objModified lstObjectsModified)))
  (princ)
 )
 
 (setq rxnObjectModified (vlr-acdb-reactor nil '((:vlr-objectModified . evtObjectModified ))))
 '''#<VLR-AcDb-Reactor>'''