問題タブ [toolsapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
400 参照

delphi - Delphi IDE Expert - 「ソースの表示」または DPR ファイルの読み込みをインターセプト

Delphi XE2 用に AutoOpenUnit IDE Expert (I-OTA-IDE-Notifier の実装と FileNotification イベントの実装) を調整しようとすると、問題が発生しました...

コード エディター (または IDE 自体) によって開かれたすべてのソース ファイルをスキャンする必要があります。

テスト プロジェクトを作成しました: Unit1.pas と Unit2.pas の 2 つのユニットを使用するコンソール アプリ (DPR)

プロジェクトの DSK ファイルを削除するか、コード エディターでファイルを開かずにプロジェクトを保存するか、DPK ファイルのみを保存します。

現在、.DPR ファイル自体が通知イベントに渡されることはほとんどありません。それが起こった唯一のケースは、「プロジェクトを開く」を実行して指定したときです。

ただし、File/Reopen を実行すると、DRPOJ ファイルが開かれたと通知されますが、DPR ファイルではありません。プロジェクトを事前に開いた状態で IDE を再起動すると、DPROJ ファイルが再び「開かれ」、DPR ファイルが「スキップ」されます。

アクティブなプロジェクトが変更されたなどの通知があります。プロジェクト DSK ファイルとデフォルトの空のプロジェクト グループ ファイルの「ファイル オープン」通知もあります。ただし、プロジェクトのソース ファイルではありません。

ここで、DPROJ ファイルからプロジェクト名を抽出し、自分自身に「通知」するという大雑把なハックを行うことができます。それは事実ですが、そのIDEは「通常の」イベントを発生させませんか???

さらに悪い。プロジェクトを開いている (ただし、プロジェクトの DPR ファイルは閉じている) 場合に、[ソースの表示] アクションを実行すると、コード エディターがプロジェクトの新しいタブを開いている間、エキスパートにイベントは何も表示されません。

プロジェクト ルート ファイルを含む新しいタブがコード エディタで開かれているときに、IDE から確実に通知を受け取る方法はありますか?

アップデート。iOTAEditorNotifierIDE OTAでそのインターフェースの登録呼び出しがないように見えるので、CnWizardsがそれをどのように利用するかを読み込もうとしていることがわかりました...

PS https://github.com/the-Arioch/XE2_AutoOpenUnit

PPS XE2 string double-free バグ デモ: http://www.sql.ru/forum/1300873-a/xe2-string-double-free

0 投票する
0 に答える
86 参照

delphi - トークン化を呼び出さない IOTAHighlighter

単純な蛍光ペンを作成しようとしています (これは、pas ファイル内の特定の種類の変数の強調表示を追加します)。

http://www.delphi-central.com/syntax_highlighting.aspxのコードを使用しました

問題は、Tokenize プロシージャが呼び出されないことです。次の方法で Register プロシージャに登録されます。

または、コンストラクターで次のようにします。

メニュー Tools.Options を起動すると GetName が呼び出されます

コードスニペット:

チュートリアルでは、「OTA を使用すると、新しいソース ファイル タイプの蛍光ペンを作成できます」と記載されています。これを何らかの形でpas-filesに登録する必要がありますか、それとも他に何か不足していますか?

0 投票する
1 に答える
95 参照

delphi - OpenTools API を使用して環境変数の値を取得するには?

IDE セットアップにいくつかの新しい環境変数を追加しました。

ツール > オプション > 環境オプション > 環境変数 > ユーザーオーバーライド

これらは次のようなパスです$(MYPROJ_ROOT)\Source

OpenTools API を使用してそれらの 1 つを取得するにはどうすればよいですか?

私が使用している IDE は Delphi 10.2 Tokyo です。

0 投票する
2 に答える
103 参照

delphi - IOTAModuleCreator の de NewImplSource は、IDE で新しいユニットを自動的に「表示」しますか?

ToolsApi を使用して IDE ウィザードを実装し、GExperts FAQ ( http://www.gexperts.org/examples/GXModuleCreator.pas ) を参照として使用しようとしています。

bpl はコンパイルされますが、ユニットは IDE に表示されません。Delphi 10.3.2 Rio を使用しています。

これは、IOTAModuleCreator からメソッド「NewImplSource」を呼び出す方法の例です。