Composants Forms inaccessibles
Bonjour à tous,
Je tourne en rond sur un problème.
J'ai une procédure qui affiche des Forms dans dans des TControl (principalement des Layouts et TabControl).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
procedure TFMain.FormCreate(Sender: TObject);
begin
EmbeddForm(pagesControl, TFPageAccueil.Create(Self), 0);
EmbeddForm(pagesControl, TFPageAuto.Create(Self), 1);
EmbeddForm(pagesControl, TFPageMenuProfil.Create(Owner), 2);
EmbeddForm(pagesControl, TFPageManuel.Create(Self), 3);
EmbeddForm(pagesControl, TFPageMaintenance.Create(Self), 4);
end;
procedure TFMain.EmbeddForm(AParent:TControl; AForm:TCustomForm; Index: Integer);
begin
if (AParent is TTabControl) then
begin
while AForm.ChildrenCount>0 do
AForm.Children[0].Parent:= TTabControl(AParent).Tabs[index];
end
else
begin
while AForm.ChildrenCount>0 do
AForm.Children[0].Parent:= AParent;
end;
end; |
Jusque là aucun souci. Mes forms sont bien créés dans mes controls.
Le truc, c'est que mes Forms sont inaccessibles entre eux. Pour faire simple, je peux pas accéder aux composants d'un Form B depuis un Form A sans être en violation d’adresse.
Code:
1 2 3 4 5
|
procedure TFPageProfil.btnRetourClick(Sender: TObject);
begin
FormB.Bouton1.Visible := FALSE; // Ceci ne fonctionne pas
end; |
En revanche, si je procède de façon classique en laissant l'appli créer automatiquement mes forms et en utilisant form.Show, aucun problèmes.
Je pense que ma façon de créer mes forms les rendrent en instance inaccessible.
Avez-vous des idées?
PS: Appli FireMonkey.
Merci d'avance pour votre aide.