trezeled
Messages postés19Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention27 septembre 2006
-
21 févr. 2006 à 21:55
griffon07
Messages postés1Date d'inscriptiondimanche 1 juillet 2007StatutMembreDernière intervention22 avril 2012
-
22 avril 2012 à 17:14
Bonjour,
Lorsque j'essaye d'acceder a un formulaire à partir d'une fenetre modale j'obtiens le message d'erreur suivant : Violation d'accès à l'adresse.
En fait j'ai mon FrmMain dans lequel il y a une fenetre fille FrmDossiers et à partir d'un bouton de FrmDossiers j'ouvre avec un showmodal le FrmRecherche.
Et dans un DbGrid de FrmRecherche je cherche à remplir des controles de FrmDossiers ce qui me provoque l'erreur evoquée.
Lorsque j'effectue le pas à pas la valeur de FrmDossiers est egale à nil.
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 23 févr. 2006 à 01:01
TFrmDossiers.createParented(FrmMain.Handle);
Createparented cree un nouveau contrôle dans une fenêtre parent non-VCL.
donc ta form n'est pas crée avec Createparented est ça provoque une violation ...
donc ecris :
With TFrmDossiers.create(application) Do
Begin
showmodal;
Free;
End;
trezeled
Messages postés19Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention27 septembre 2006 22 févr. 2006 à 08:46
J'appelle FrmDossiers de la facon suivante :
Dans FrmMain, a partir d'un popup je lance :
if UpperCase(strPopup) = 'FRMDOSSIERS' then TFrmDossiers.Execute();
Puis dans la procedure execute de FrmDossiers, je lance
TFrmDossiers.createParented(FrmMain.Handle);
cs_deubal
Messages postés198Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention26 août 2009 22 févr. 2006 à 10:19
bonjour,
je rencontre un probleme pratiquement identique au tiens : du moins le message est identique mais la maniere de faire est differente :
- ma form appellée (form2) n'est pas creer par defaut- sur la form1 il y a un bouton et quand on clique dessus:
" form2 := Tform2.Create(Self);
form2.ShowModal;
form2.Free;"
- sur la form2 il y a un bouton avec le code
" close;"
et là dès que je clique ca me met le message d'erreur "Violation d'accès à l'adresse."
Pourquoi ?? je n'en sais rien
je me disais que si quelqu'un t'aidait , plutot que de poster un message sur le forum et que notre probleme a l'air identique, autant regrouper et peut-etre avoir une reponse commune ...
En vous remerciant par avance
bonne journee
Vous n’avez pas trouvé la réponse que vous recherchez ?
trezeled
Messages postés19Date d'inscriptionmardi 27 mai 2003StatutMembreDernière intervention27 septembre 2006 22 févr. 2006 à 19:09
Dans la procedure Execute j'effectue juste la ligne deja indiquée :
TFrmDossiers.createParented(FrmMain.Handle);
Et l'erreur se declenche lorsque dans FrmRecherche (fenetre ouverte par un showmodal lors d'un clic sur un bouton dans FrmDossiers) je veux remplir un controle du type FrmDossiers.EdtNom.
Mais en fait le probleme vient du fait que FrmDossiers est une fenetre fille, dans FrmREcherche j'ai acces a FrmMain mais pas a FrmDossiers
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 22 févr. 2006 à 19:50
bon j'ai refait les testes :
Form1 qui crée Form2 (avec un TEdit) qui crée Form3 qui remplie l'edit de Form2
le tout (Form2 et Form3) en ShowModal
J'ai fait les testes de différentes manières et ça fonctionne toujours
donc si tu ne donne pas plus d'informations on ne pourra pas t'aider.
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 23 févr. 2006 à 01:07
Et Pour l'exemple de form1 et form2 ça fonctionne correctement
je vois pas ou est l'erreur ,l'erreur vienne d'ailleurs !!!!!!!!!!!!!
et n'est pas pareil au exemple de trezeled
griffon07
Messages postés1Date d'inscriptiondimanche 1 juillet 2007StatutMembreDernière intervention22 avril 2012 22 avril 2012 à 17:14
Je crois que j'ai le même problème ! moi je suis dans un "procedure TForm1.Button1Click(Sender: TObject);"
mon form2 est un "AboutBox" inventé donc :
begin
Application.CreateForm(TAboutBox, AboutBox); <<<< la compilation s'arrete ici
AboutBox.showmodal;
AboutBox.Free;
end;
il parle : d'indentificateur non déclaré : 'AboutBox'
dans ce cas là où peut on l'identifié??
Aboutbox (=form2) est bien dans le répertoire du projet !