コントロールに記述されているソースコードを取得する
2021/08/18
方法
コントロールに記述されているソースコードを取得するには ClassDefinition オブジェクトと ScriptDefinition オブジェクトを利用します。
目的のコントロール (オブジェクト) について FindClassDefinition 関数でクラス定義に関する情報を取得後、ClassDefinition オブジェクトのプロパティ (ScriptList) で ScriptDefinition オブジェクトを取得します。
取得した ScriptDefinition オブジェクトのプロパティ (Source) を参照することでソースコードが取得できます。
【例】ウインドウ (w_1) 上のデータウィンドウコントロール (dw_1) のソースコードをマルチラインエディット (mle_1) に出力する
string ls_objectnm string ls_source ClassDefinition cd_windef ScriptDefinition sd_script long ll_idx ls_objectnm = "w_1`dw_1" // 実行中のアプリケーションのライブラリで w_1 上の dw_1 のクラス定義を検索 cd_windef = FindClassDefinition(ls_objectnm) FOR ll_idx = 1 TO UpperBound(cd_windef.scriptlist) sd_script = cd_windef.scriptlist[ll_idx] // ScriptDefinition オブジェクトのプロパティ (Source) からソースコードを取得 ls_source = sd_script.source IF ls_source <> '' THEN mle_1.text = sd_script.source END IF NEXT
Tips情報
プロダクト :PowerBuilder
バージョン :2019R3