問題タブ [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.
delphi - IOTAProjectからメインソースファイル名を取得するにはどうすればよいですか?
少なくともD2007以降、プロジェクトファイルにはベース名が異なるメインソースファイルを含めることができます。DevExpressデモはこれを利用します。たとえば、UnboundListDemoD11.dprojとUnboundListDemoD12.dprojの両方のメインソースとして機能する単一のdprファイルUnboundListDemo.dprがあります。
今私が持っているProject: IOTAProject
場合Project.FileName
は、dprojファイル名を返します。dprのファイル名を取得するための「公式の」方法が見つかりませんでした。ありますか?dprojファイル(ここを参照)を解析することで取得できますが、ToolsAPIメソッドを使用することをお勧めします。
編集:私はジョンの答えに基づいてこのコードを思いついた:
ここで、Is...ルーチンはGX_GenericUtilsからのものです。
編集2:これらの状況の1つを作成する方法:
- 新しいVCLアプリケーションを作成します。
- MyProject.dprojとして保存します。
- IDEでプロジェクトを閉じます。
- Windowsエクスプローラーで、MyProject.dprojの名前をMyProjectD11.dprojに変更します。
- 今後は、MyProject.dprではなく、必ずMyProjectD11.dprojを開いてください。
delphi - Delphi2010の独自のデバッグビジュアライザーの速度を向上させる
現在の行、ソース+スクリーンショットの値を表示するためにTDataSet用のDelphiデバッグビジュアライザーを作成しました:http://delphi.netcode.cz/text/tdataset-debug-visualizer.aspx。うまく機能していますが、非常に遅いです。私はいくつかの最適化(フィールド名を取得する方法)を行いましたが、それでも20フィールドだけが表示されるのに10秒かかります-非常に悪いです。
主な問題は遅いIOTAThread90のようです。以下に示すメインコードで使用される評価。この手順はほとんどの時間コストがかかり、**約80%の時間がかかります。FExpressionは、コード内のTDatasetの名前です。
今、私はパフォーマンスを改善する方法がわかりません。
delphi - Delphi 2010 コンパイラの出力 (ヒント) をフィルタリングする方法は?
Delphi コンパイラが発行するいくつかのヒント (*) を取り除こうとしています。ToolsAPIを参照すると、Notifier を介してこれを達成するのに役立つように見えるIOTAToolsFilterが表示されますが、これを呼び出す方法がわかりません (フィルターにアクセスできる xxxServices を介して)。
私がここで正しい軌道に乗っているかどうか、誰か教えてもらえますか? ありがとう!
(*) 特に、親の大文字と小文字が一致しないオーバーライドされたメソッドに関する H2365。約 500 万行のアクティブなコードがあり、コード規則が Embarcadero のものとはわずかに異なる場合は、あまり良くありません。私たちは何ヶ月もヒントなしで作業してきましたが、ちょっと寂しいです。:-)
delphi - DelphiのToolsAPIでモジュールの構造を取得するにはどうすればよいですか?
ToolsAPIでモジュール(パスカルユニット)の構造情報を取得したい。IDEの構造ビューと同じように。
クラス、レコード、インターフェイス、変数/定数などのメンバー、パラメータなど。
これらのメタデータを取得するための簡単で効率的な方法はすでにありますか?
delphi - Open Tools API を使用して挿入された領域を折りたたむ方法は?
編集ビューにリージョンを挿入してから、このリージョンを折り畳みたいと思います。
このコード スニペットは、コード エディターに領域を挿入します。ただし、IDE では、コード エディターでそのような領域を生成するためのアクションが必要です。
IDEにこのアクションを強制する方法はありますか?それから私は使用できます
折りたたむには?
delphi - シンプルな Delphi IDE エキスパートを作成する
次の図のように、Delphi 7 用のシンプルな IDE エキスパートを作成したいと考えています。
この質問に対して提供されたリンクを確認しましたが、OTA API ニュースグループは終了しており、ほとんどのドキュメントは利用できません (リンク切れ)。誰かがこれで出発点を与えることができますか?
delphi - Delphi Open tools API プロジェクト作成ウィザード
プロジェクト ウィザードを作成しようとしていますが、オープン ツール API はまったく初めてです。
以下の質問を受けました。プロジェクトを特定の場所に保存することは可能ですか。ウィザードが場所を尋ねます。
新しいフォームを作成しましたが、名前は Form1 です。私はそれに特定の名前を付けるのが好きです。どうやってやるの?
プロジェクトにデータモジュールをコピーしたい。ファイルをコピーして別の名前でプロジェクト ディレクトリに保存するようウィザードに指示するにはどうすればよいですか?
delphi - ToolsAPI を使用して $(Config) の値を取得するには?
ToolsAPI を使用して Delphi エキスパートを作成する場合、GetEnvironmentVariable を使用して、現在の Delphi IDE プロセスで使用できる環境変数を取得できます。ただし、これは、現在のユーザー アカウント設定または Delphi の環境変数設定で変数が定義されている場合にのみ機能します。
Delphi 2010 / XE の $(Config) などの変数は使用できますが、環境変数としては表示されません。詳細設定で「診断」をオンにすると、変数のリストを取得できます。Delphi IDE でプロジェクトをコンパイルすると、$(Config) 変数が診断出力に表示されます。
ToolsAPI で $(Config) の値を取得する方法はありますか?
delphi - DelphiのToolsAPIのIOTAProjectCompileNotifierを実装する方法は?
DelphiXEIDEを使用しています。IOTACompileNotifierを実装するための通知機能を作成します。エキスパートをIDEにインストールした後。プロジェクトをコンパイルすると、コードは正常に機能します。通知機能はProjectCompileStartedで機能しています。
プロジェクトを2回目にコンパイルすると、DelphiIDEプロンプトが表示されます。
私が演じるのは奇妙に思えますが:
通知機能で。ProjectBuilderのコンパイル通知機能の追加と削除がどのように使用しても正しく機能していないように見えることを示したいだけです。
IOTAProjectCompileNotifierを実装する方法を教えてください。
ありがとうございました。
完全なソースコードは次のとおりです。
delphi - Toolsapi で Delphi XE プロジェクトの変更を元に戻すことはできますか?
私は Delphi XE エキスパートを書いています。エキスパートは、ビルド構成を「デバッグ」から「リリース」に切り替え、ビルドを実行し、「リリース」から「デバッグ」に戻します。
ビルド構成を切り替えている間、.dproj ファイルのみが変更されました。プロジェクトの状態が変更されます。
ToolsAPI を使用してプロジェクト ファイルの状態を元に戻すことは可能ですか?