Bonjour,
voila l'interface de mon application.
En gros :

je vous explique ce que je veux faire et ce que j'arrive a faire :
Je dois sauvegarder la hierarchie d emon application (les onglets et objet interne) dans un fichier xml pour pouvoir la recréer après.
Donc j'enregistre hiérarchiquement tout dans mon fichier xml .
Je suis partie de la logique je prend mon premier onglet (de Tnb_principal),et je récupère son nom (le nom de l'étage).Puis Chaque onglet a en enfant un autre TabbedNotebook qui figure dans mon tableau TNB_principal1: Array Of TabbedNotebook celui la me sert a représenter une pièce, je récupère donc le nom de la première pièce, et finalement je bloque , je voudrai récupérer le combobox enfant a cette pièce mais c'est la que tout ce complique. J'ai essayer de faire un lenomdemontabpage.findComponent mais il ne trouve rien je ne comprend pas ...
Le CODE :
Configuration_immeuble := XMLDoc.DocumentElement.AddChild('Configuration_immeuble');
if assigned(TNB_principal) then
begin
For lecture_page:= 0 to TNB_principal.Pages.Count-1 do
Begin
TabPageetage := TTabPage(TNB_principal.Pages.Objects[lecture_page]);
if assigned(TabPage) then
begin
etage := Configuration_immeuble.AddChild('etage') ;
nometage := etage.AddChild('nom') ;
nometage.Text := TabPageetage.Caption ;
For num_onglet:= 0 to TNB_principal1[lecture_page].Pages.Count-1 do
Begin
TabPagepiece := TTabPage(TNB_principal1[lecture_page].Pages.Objects[num_onglet]);
piece := etage.AddChild('piece') ;
nompiece := piece.AddChild('nom') ;
nompiece.Text := TabPagepiece.Caption ;
For NumTableau:= 0 to Length(CB_Mur)-1 do
Begin
Mur_CB_test := TComboBox(TabPagepiece.FindComponent(CB_Mur[NumTableau].Name));
if assigned(Mur_CB_test) then
begin
showmessage('ok');
break;
end
else
begin
showmessage('non');
end;
end;
end;
end;
end;
end;
Le problème s'est qu'il faut absolument que je trouve le combobox enfant de la page. Donc je me demandé si il y avais une possibilité d'affiché la hiérarchie d'un composant (les objets qu'il contient) car si cela est possible il y a sûrement un moyen pour que je le sélectionne dans cette liste.
Si cela n'est pas très clair n'aillait pas peur de m'en faire part.
Merci d'avance
( j'ai posté aussi sur un autre forum )