Merci pour ta réponse.
Même si pour le moment je savais faire...
le défaut est pour la gestion d'un composant, sous l'IDE :
Liste des forms ouvertes sous delphi7 par défaut
Self.ExcludeFormList.DelimitedText :=
'"",'+
'"AppBuilder",'+
'"EditWindow_0",'+
'"DockSite0",'+
'"ProjectManagerForm",'+
'"PropertyInspector",'+
'"ObjectTreeView",'+
'"AlignPalette",'+
'"frmRepository",'+
'"frmITESearchForm",'+
'"frmITESearchResults",'+
'"frmSelectFontDlg",'+
'"ITEfrmMain",'+
'"frmITEDFMForm",'+
'"frmITERCForm",'+
'"frmITEProjectStatus",'+
'"frmITEExplorer",'+
'"DbEngineErrorDlg",'+
'"MessageView",'+
'"CodeExplorer"'
;
Voici l'action principale (grabText) :
Procedure TMultiSpeakEditor.GrabTexts;
{-------------------------------------------------------------------------------
(Private) Récupère tous les textes de l'application
--------------------------------------------------------------------------------}
Var
I : integer;
Begin
For I:=0 to Screen.FormCount-1 do // Parcours toute les Fiches
If (not Self.IsExcludedForm(Screen.Forms[I].Name)) then Begin // Si la fiche scannée n'est pas répertoriée comme à "exlure"
Self.AddComponent('', Screen.Forms[I]);
Self.DetectComponents('', Screen.Forms[I]);
End;
Self.SaveToFile;
ShowMessage(IntToStr(Self.MS.CompListProperties.Count)+' component(s) count');
End;
Procedure TMultiSpeakEditor.DetectComponents(const strName : string; Comp : TComponent);
{-------------------------------------------------------------------------------
(Private) Détecte les composants d'une fiche
-----
Paramètres :
- strName (string) (in) : nom_fiche.nom_composant
- Comp (TComponent) (in) : Composant
--------------------------------------------------------------------------------}
Var
I : Integer;
Begin
For I:=0 to Comp.ComponentCount-1 do // Parcours chaque composant
If (Comp.Components[I].Name <> '') then Begin // si le nom du composant <> '' on l'analyse
If (Comp.Components[I].ComponentCount > 0) then // si le composant possède des composants fils
Self.DetectComponents(strName+Comp.Name+'.'+Comp.Components[I].Name, Comp.Components[I]) // on les liste, en indiquant le nom du père
Else
Self.AddComponent(strName+Comp.Name+'.'+Comp.Components[I].Name, Comp.Components[I]);
End;
End;
Le problème que j'ai est le suivant : mon composant avexc l'action GrabText, ne scanne que les fiches\forms ouvertes sous delphi.
La solution, est ce qu'il existe une propriété des BorlandServices (en passant par les INTA\IOTA) pour ouvrir toutes les fiches? ou une permettant de juste avoir le nom des fiches pour les ouvrir, et ainsi les scanner...
En tt cas merci pour ton aide.