コントロールに記述されているソースコードを取得する

PowerBuilder Tips

方法

コントロールに記述されているソースコードを取得するには 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

Tips 一覧を見る
PowerBuilder マイグレーション
PowerBuilder 2019 R3 日本語版リリース 紹介動画