9

RemObjects (素晴らしい) の PascalScript と SynEdit エディターを使用して、組み込みのスクリプト エンジンを作成しています。PascalScript に同梱されている IDE サンプルと SynEdit の IDE サンプルの使用はほぼ完了していますが、番号付きのソース行が「実行可能」かどうかを PascalScript に問い合わせる方法がわかりません。(これを使用して、SynEdit のガターを「Delphi の青い点」でマークすることができます)。ROPS の出力を逆アセンブルする必要があるのではないでしょうか?

ここに PascalScript の専門家はいますか? ありがとう。ブライアン。

4

3 に答える 3

9

Inno Setupのソースコードを見てください。実行可能コードを含む行の SynEdit ガター領域に小さなドットが表示され、実行可能であるが実行されていない行には灰色のドットが表示され、少なくとも 1 回ヒットした行には緑色のドットが表示されます。

このコードは にあります。タイプCompForm.pasを探してください。TLineState情報はコンパイラ コールバックの状態で設定されiscbNotifySuccessます。IDE で同じことを行うことができます。Inno Setup コンパイラは単一のソース ファイル内のコード スニペットのみを処理するため、複数のソース ファイルを処理するようにコードを調整する必要がある場合があります。

Pascal スクリプト ソースでは、TPSCustomDebugExec.TranslatePositionEx()メソッドを確認する必要があります。ソース ファイルの名前も返されます。

于 2009-06-26T21:34:17.297 に答える
1

正確な方法はわかりませんが、PascalScript パッケージ ( \samples\debug の下にあります) の IDE プロジェクトは、ステップ インおよびステップ オーバー (F7 および F8) 機能を提供できるため、論理的にはいくつかの機能が必要です。 PS バイトコードをスクリプト コードの行に関連付ける方法。そのプロジェクトを調べて、それがどのように機能するかを確認してください。おまけとして、SynEdit も使用しているため、アイデアを独自のシステムに簡単に適応させることができます。

于 2009-06-26T19:50:57.300 に答える