モジュール インターフェイスを使用する
ファイルとエディタの処理 への移動
モジュール インターフェイスを取得するには、モジュール サービス(IOTAModuleServices)が出発点になります。 開いているすべてのモジュールをモジュール サービスに問い合わせたり、ファイル名またはフォーム名でモジュールを検索したり、ファイルを開いてそのモジュール インターフェイスを取得することができます。
プロジェクト、リソース、タイプ ライブラリなどのさまざまな種類のファイルに応じて、さまざまな種類のモジュールがあります。 モジュール インターフェイスを特定の種類のモジュール インターフェイスにキャストすると、モジュールがその種類かどうかがわかります。 たとえば、現在のプロジェクト グループ インターフェイスを取得する 1 つの方法を以下に示します。
{ Return the current project group, or nil if there is no project group. } function CurrentProjectGroup: IOTAProjectGroup; var I: Integer; Svc: IOTAModuleServices; Module: IOTAModule; begin Supports(BorlandIDEServices, IOTAModuleServices, Svc); for I := 0 to Svc.ModuleCount - 1 do begin Module := Svc.Modules[I]; if Supports(Module, IOTAProjectGroup, Result) then Exit; end; Result := nil; end;
// Return the current project group, or 0 if there is no project group. _di_IOTAProjectGroup __fastcall CurrentProjectGroup() { _di_IOTAModuleServices svc; BorlandIDEServices->Supports(svc); for (int i = 0; i < svc->ModuleCount; ++i) { _di_IOTAModule module = svc->Modules[i]; _di_IOTAProjectGroup group; if (module->Supports(group)) return group; } return 0; }