Probleme avec une Application MDI.

Youyou0214 Messages postés 89 Date d'inscription jeudi 11 avril 2002 Statut Membre Dernière intervention 3 juillet 2003 - 2 août 2002 à 05:13
vrachid Messages postés 109 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 octobre 2011 - 28 mars 2008 à 19:43
J ai un Pobleme avec mon application MDI: Sur la procedure onclick d un bouton je voudrai ouvrir une fenetre MDI (pas de probleme) et si on reclique une autre fois sur le meme bouton au lieu que un nouvelle fenetre s ouvre, jaimerai changer la propriete dun des composants qui se trouve dans la fenetre deja ouverte. J ai essaye sa:

procedure TMainForm.Button11Click(Sender: TObject);
var
Child: TMDIChild;
begin
if
MDIchildcount = 0 then
begin
Child := TMDIChild.Create(Application);
end
else
child.memo1.Enabled:=true;
end;

Mais sa ne marche pas et delphi me fait une erreur a la ligne child.memo1.Enabled:=true;
et me dit 'la variable chid n'est peut etre pas initialise'.
Que dois je faire?
Merci
Michel

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 août 2002 à 13:31
Au lieu de :
child.memo1.Enabled:= true;

il faut mette :
(ActiveMdiChild as TMdiChild).Memo1.Enabled := True;

Explications :
En utilisant la méthode Create tu obtiens une référence sur une nouvelle fenêtre MDI.
Si tu veux accéder à une fenêtre MDI déjà créée, alors soit tu recherches la référence sur la fenêtre MDI active ou, tout simplement, tu utilises la propriété ActiveMdiChild définie par Delphi.

May Delphi be with you.
Delphi advanced
0
Youyou0214 Messages postés 89 Date d'inscription jeudi 11 avril 2002 Statut Membre Dernière intervention 3 juillet 2003
2 août 2002 à 18:03
Merci Delphiprog je vais tester sa tout de suite !
0
vrachid Messages postés 109 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 octobre 2011
28 mars 2008 à 19:43
bj a tous
puisque vous parlez de mdi alors voila
j'avais une app dont il y avait une fiche normal j'ai voulu changer et j'ai essayer de faire une fiche mere et d'autre (03 fiches) fille dans la fiche mere il y a un menu pour les appeler , le pb est que ça ne marche pas les fiche ne s'affiche pas , je ne c pas s'il y a une procedure pour ça moi je n'ai fait que déclarer les fiches dans l'inspecteur d'objet (mere est fille...)
merci
0
Rejoignez-nous