Utilisation des interfaces de module

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des fichiers et des éditeurs


Pour obtenir une interface de module, démarrez le service de module (IOTAModuleServices). Vous pouvez demander aux services de module tous les modules qui sont ouverts, rechercher un module à partir d'un nom de fichier ou de fiche ou ouvrir un fichier pour obtenir son interface de module.

Il existe différents types de modules correspondant aux différents types de fichiers : projets, ressources ou bibliothèques de types. Transtypez une interface de module vers une interface de module spécifique pour savoir si le module est de ce type. Par exemple, voici un moyen de déterminer l'interface du groupe de projets en cours :

{ Renvoie le groupe de projets en cours ou nil s'il n'y en a pas. }
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;
// Renvoie le groupe de projets en cours ou 0 s'il n'y en a pas.
_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;
}

Voir aussi