問題タブ [otapi]
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.
delphi - Delphi 10 のオプション セット ファイルは、OTAPI を使用してプログラムで設定できますか?
それぞれのインターフェイス1を使用して新しい Delphi プロジェクトを作成するときに、オプション セットファイル参照の設定をプログラムで自動化することは可能ですか?IOTAProjectOptionsIOTAProjectOptionsConfigurations
または、他のOTAPI IDE サービス2のいずれかを使用してそれを行うことができますか?
現在、RAD Studio Delphi 10 Seattle IDE を使用しています。ただし、新しい OTAPI バージョンがその機能をサポートする場合は、それについて知りたいです。
適切なプロパティまたは関数が見つかりませんでした。現在のToolsAPI.pas.
Apply Option Set -> ReferenceIDE のプロジェクト マネージャー ビューでルート プロジェクト構成のルート ノードを選択するのと同じことを達成したいと考えています。
仮説的には、次のような機能を探しています
もう少し背景:
私は現在、会社全体の Delphi プロジェクト設定用のレガシー プロジェクト ウィザードを開発しています。IDE によって生成および保存された後、MSBuild XML ファイルをIOTAProjectCreator操作する機能する実装が既にあります。そこにいくつかの条件付き要素.dprojを追加しているだけです。Import
ここで、中央リポジトリに保存されているオプション セット ファイルも使用したいと考えています。そのアクションがGUIを使用して適用された後、XMLで行われた違いを知っており、調査しました.dprojが、(依存関係などに関して)無視できない量のロジックが進行しており、そのロジックを(再)実装することを控えていますプレーンな XML ファイル操作を介して。必要なロジックは、IDE の将来のバージョンで変更される傾向があることは言うまでもありません。
1)関数の定義を使用して、実装のコンテキストでそれを使用しようとしています。IOTAProjectCreatorprocedure SetInitialProjectOptions(NewProject : IOTAProject);
2)これらの機能が十分に文書化されていないのは残念です。
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
delphi - トークン化を呼び出さない IOTAHighlighter
単純な蛍光ペンを作成しようとしています (これは、pas ファイル内の特定の種類の変数の強調表示を追加します)。
http://www.delphi-central.com/syntax_highlighting.aspxのコードを使用しました
問題は、Tokenize プロシージャが呼び出されないことです。次の方法で Register プロシージャに登録されます。
または、コンストラクターで次のようにします。
メニュー Tools.Options を起動すると GetName が呼び出されます
コードスニペット:
チュートリアルでは、「OTA を使用すると、新しいソース ファイル タイプの蛍光ペンを作成できます」と記載されています。これを何らかの形でpas-filesに登録する必要がありますか、それとも他に何か不足していますか?
