DelphiのオープンツールAPIから新しいユニット名をどのように取得しますか

StackOverflow https://stackoverflow.com/questions/4196412

質問

Delphi XEでウィザードを書いていますが、うまく機能しています。ただし、DelphiのOTAが作成できる生成されたデフォルトのユニット名(またはフォーム名またはプロジェクト名)にアクセスする方法はまだわかりません。

私の古いスタイルのウィザードでは、Toolservices.getNewModulenameを呼び出して、関連するソースファイルを生成するときに使用できる使用可能なユニットとフォーム名を見つけました。今日のオープンツールAPIに相当するものは何ですか?

Toolsapi Unitのコメントによると、IotamoduleCreator.getImplfileNameメソッドから空白を返して、Delphiにファイル名を生成させる必要があります。このメソッドから空の文字列を返していますが、Delphiが生成しているファイル名にアクセスできる場所をまだ確認できません。

役に立ちましたか?

解決

新しいフォームとユニット名を取得するための特定の方法があります。

(iotamoduleservicesとしてのborlandideervices).getNewModuleandClassName( ''、unitident、formName、filename);

私はいくつかの例で使用しましたが、それは正常に機能しているようです。

他のヒント

メソッドiotamodulecreator.newimplsourceには、「モジュール派」パラメーターがあり、ユニット名です。

私のテストでは、予想通りに機能します(ModuleIdent パラメーター NewImplSource メソッドは新しいユニット名を受信します)。特に次のことを確認してください。

  • IOTACreator.GetUnnamed 真実を返します
  • IOTACreator.GetExisting falseを返します
  • IOTACreator.GetCreatorType 適切な識別子を返します(sUnit, sForm, など) - 私はこれについてはわかりませんが、それも重要かもしれません

ここ 作業例です。私はちょうどそれをチェックしましたが、コードはまだDelphi XEで期待どおりに機能しているようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top