問題タブ [opentools]
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-IDE: クラス補完の仕組みを変更するには?
Delphi でのクラス補完は時間を大幅に節約しますが、それをカスタマイズする方法が見つかりませんでした。
ユニット全体にスローされるのではなく、プロパティのゲッターとセッターをグループ化したいと考えています。インターフェース部分はちゃんと生成されていますが、IDEに任せると実装部分がぐちゃぐちゃになってしまいます。メソッドをデフォルトで次のように並べたい:
function TAaa.getAaa();
手続きTAaa.setAaa();
手続きTAaa.Baa();
function TAaa.getCow();
手続きTAaa.setCow();
手続き TBbb.getAaa()
実装セクションをインターフェイスと同じ順序にする必要があります。
生成されたメソッドの本体を次のようにしたい:
.
これを行うためのツールはありますか?それとも、このようなことを行うために opentools API に飛び込む必要がありますか?
delphi - IDE のファイルが Open Tools API を使用して編集されているかどうかを検出する方法
ClearCase にアクセスする Open Tools API を使用して、小さな IDE プラグインを作成しました。「チェックイン」、「チェックアウト」などのメニュー項目があります。問題なく動作しますが、IDE エディターで入力を開始した場合、またはファイルを保存しようとした場合に、読み取り専用ファイルを自動的にチェックアウトしたいと考えています。これは可能だと思いますか?
色々試しましたが結局諦めました。IOTAEditorServices.KeyboardServices には、有望に見える AddKeyboardBinding メソッドがあります。それを使用して、バインド タイプ btPartial の通知機能を追加し (後で btComplete を試しました)、プラグインはいくつかのショートカット キーの押下を検出し始めましたが、すべてのキーボード イベントではありませんでした...どんなアイデアでも大歓迎です!
delphi - Delphi の OTA: ビルド中にアクティブな構成を取得する方法はありますか (D2010)?
すべての構成を一度にビルドするよう Delphi に依頼できます。[構成のビルド] をクリックして、[作成] コマンドを呼び出します。
(出典: free.fr )
これにより、すべての構成が次々に構築されます。
問題は、コンパイル イベントに反応しなければならない IDE エキスパートがいることです。イベントをフックするために IOTAIDENotifier80 を登録します。BeforeBuild イベントと AfterBuild イベントがあります - 私たちはそれらに興味があります。IOTAProject は各イベントに渡されます。
問題は、アクティブな構成が変更されないことです。つまり、「デバッグ」構成が選択されている場合 (太字で示されています) - BeforeBuild/AfterBuild イベントへのすべての呼び出しは、デバッグ構成プロファイルを返します (IDE が異なるプロファイルを次々にコンパイルしても)。ここでは IOTAProject のプロパティを意味します。
IOTAProjectOptionsConfigurations も使用しようとしましたが、その ActiveConfiguration プロパティは、現在コンパイルされているプロファイルに関係なく、常に同じ「太字」のプロファイルを返します。
問題は、「実際の」現在のプロファイルを取得する方法はありますか?
delphi - DeskUtil のドキュメントはどこにありますか?
DeskUtil のドキュメントやヘルプはどこにありますか? Delphi アドインをビルドしようとしていますが、アドイン ドッキング フォームをアクティブな IDE デスクトップに保存/登録/ロードする際に問題が発生します。あちこちでいくつかの例を読んだ後、私は DeskUtil メソッドを使用していますが、例はこれらのメソッドがどのように機能するか、および IDE のロード/破棄のメカニズムについて深くは触れていません。DeskUtil または OpenTools Api に関する公式ドキュメント/ヘルプはありますか? つまり、私のような開発者は、IDE と OpenTools Api に関する深い知識 (記事やデモではなく) をどこでどのように入手できるのでしょうか?
ご協力いただきありがとうございます。
delphi - DelphiのオープンツールAPIから新しいユニット名を取得するにはどうすればよいですか
Delphi XEでウィザードを作成しましたが、正常に機能しています。ただし、DelphiのOTAが作成できる、生成されたデフォルトのユニット名(またはフォーム名やプロジェクト名)にアクセスする方法はまだわかりません。
古いスタイルのウィザードでは、ToolServices.GetNewModuleNameを呼び出して、関連するソースファイルを生成するときに使用できる使用可能なユニットとフォーム名を見つけることができました。今日のオープンツールAPIに相当するものは何ですか?
ToolsAPIユニットのコメントによると、Delphiにファイル名を生成させるには、IOTAModuleCreator.GetImplFileNameメソッドから空白を返す必要があります。このメソッドから空の文字列を返していますが、Delphiが生成しているファイル名にアクセスできる場所がわかりません。
delphi - DUnit GUITestrunnerのコードからToolsAPIを呼び出すことはできますか?
ToolSAPIユニットのグローバル変数BorlandIDEServicesを初期化して、DUnit GUITestrunnerコードから使用できるようにする方法はありますか?
この例では、BorlandIDEServices変数が初期化されていないため、Project変数はnilになります。GUITestrunnerは、IDE内からデバッグモードで実行されます。
delphi - Delphi OpenTools API: AfterCompile 通知を取得するには?
OpenTools API は、コンパイルの前後に通知を受けるためのインターフェースを定義します。
このインターフェイスをエクスポートするウィザードを作成しました:
ウィザードを次のように登録します。
しかし、どちらも:
IOTAIDENotifier.BeforeCompile
IOTAIDENotifier.AfterCompile
IOTAIDENotifier.FileNotification
IOTAIDENotifier50.BeforeCompile
IOTAIDENotifier50.AfterCompile
呼ばれます。私は何を間違っていますか?
これまでに呼び出された唯一のものは
IOTAWizard.GetName
IOTAWizard.GetIDString
その順番で。
delphi - Delphi OpenTools API: ターゲット exe 名を取得するには?
指定されたターゲット実行可能ファイルの名前を取得するにはどうすればよいIOTAProject
ですか?
GExpert の OpenTools API FAQから:
binary/exe/dll/bpl/ocx/etc のファイル名を特定するにはどうすればよいですか。コンパイルまたはビルドによって生成されますか?
- Delphi 8 以降の場合は、 を使用しますIOTAProjectOptions.TargetName
。
- 以前のリリースでは、プロジェクトの実行可能ファイルの拡張子を指定する$Eディレクティブをスキャンし、 「OptputDir」で指定されたパスでバイナリ ファイルを検索する可能性があるため、メソッドの実装ははるかに複雑です。 project オプション、またはそのオプションが空白の場合はプロジェクトディレクトリ (他の多くの可能性と複雑さの中でも)。このようなツールを実装する最善の方法は、CodeGear CodeCentral サンプル ID 19823のサンプル コードから始めることです。
私の場合は後者に当てはまります。インターフェイスが与えられたIOTAProject
場合、次の内臓はどうなるでしょうか。
Delphi 8以降の場合、(テストされていない)答えは次のとおりです。
しかし、複雑なのは Delphi 8 より前のほうが難しいです。
Jedi JCL には、TJclOTAExpert
シミュレートするために一緒に使用できる内部に多数のメソッドがあります。
私はそのコードを苦労して取り組んでいます。数週間以内に、自分の質問に対する回答を投稿できるようになることを願っています。
しかし、それまでの間、他の誰かが私の質問に答えることができるという評判を得られるように、それを公開します.
delphi - プロジェクトへのユニットの自動追加
コンポーネントが自動的Delphi 7
にドロップされるプロジェクトDelphi 2006
のファイルに追加する必要があるユニットを使用しています。.dpr
Eureka Log がユニット 'ExceptionLog' をプロジェクト ファイルに自動的に追加する方法と同様に、次のようになります。
プロジェクト内の任意のフォームにコンポーネントをドロップしたときに、プロジェクト ファイルにプログラムでユニットを追加する方法を誰か教えてもらえますか?