Problème Show Modal [Résolu]

trezeled
Messages postés
19
Date d'inscription
mardi 27 mai 2003
Dernière intervention
27 septembre 2006
- 21 févr. 2006 à 21:55 - Dernière réponse : griffon07
Messages postés
1
Date d'inscription
dimanche 1 juillet 2007
Dernière intervention
22 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.

Pouvez-vous m'aider SVP ????
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
walid2876
Messages postés
49
Date d'inscription
mardi 26 avril 2005
Dernière intervention
31 août 2008
- 23 févr. 2006 à 01:01
3
Merci
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;

Merci walid2876 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de walid2876
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
- 21 févr. 2006 à 22:58
0
Merci
Quel est le code employé quand tu appelles FrmDossiers ?
Tes fiches sont-elles auto créées par défaut ?


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
trezeled
Messages postés
19
Date d'inscription
mardi 27 mai 2003
Dernière intervention
27 septembre 2006
- 22 févr. 2006 à 08:46
0
Merci
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);

Et non FRmDossiers n'est aps créés par défaut
Commenter la réponse de trezeled
cs_deubal
Messages postés
198
Date d'inscription
mercredi 26 novembre 2003
Dernière intervention
26 août 2009
- 22 févr. 2006 à 10:19
0
Merci
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
Commenter la réponse de cs_deubal
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 22 févr. 2006 à 13:50
0
Merci
Salut,
essayez comme ça :

procedure TForm1.btn_1Click(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.showmodal;
Form2.Free;
end;

@+
Cirec
Commenter la réponse de Cirec
trezeled
Messages postés
19
Date d'inscription
mardi 27 mai 2003
Dernière intervention
27 septembre 2006
- 22 févr. 2006 à 18:08
0
Merci
Ca ne fonctionne pas pour moi, j'ai deja essayé mais ca pose toujours le meme probleme
Commenter la réponse de trezeled
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 22 févr. 2006 à 18:34
0
Merci
Alors dans ce cas il faut donner plus de détails sur ton code.
Parce que j'ai fait le teste et le code que je te propose fonctionne très bien.

Donne déjà la procédure Execute et la procédure ou l'erreur se déclanche.

@+
Cirec
Commenter la réponse de Cirec
trezeled
Messages postés
19
Date d'inscription
mardi 27 mai 2003
Dernière intervention
27 septembre 2006
- 22 févr. 2006 à 19:09
0
Merci
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
Commenter la réponse de trezeled
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 22 févr. 2006 à 19:50
0
Merci
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.

@+
Cirec
Commenter la réponse de Cirec
trezeled
Messages postés
19
Date d'inscription
mardi 27 mai 2003
Dernière intervention
27 septembre 2006
- 22 févr. 2006 à 19:55
0
Merci
Form2 ne doit pas etre créé avec un showmodal mais Form2
Commenter la réponse de trezeled
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 22 févr. 2006 à 20:33
0
Merci
c'est pareil je l'ai fait dans tous les sens
le problème viens d'ailleurs

@+
Cirec
Commenter la réponse de Cirec
walid2876
Messages postés
49
Date d'inscription
mardi 26 avril 2005
Dernière intervention
31 août 2008
- 23 févr. 2006 à 01:07
0
Merci
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
Commenter la réponse de walid2876
trezeled
Messages postés
19
Date d'inscription
mardi 27 mai 2003
Dernière intervention
27 septembre 2006
- 23 févr. 2006 à 08:44
0
Merci
OK Merci, c'etait bien le create parented qui me posait souci.
Commenter la réponse de trezeled
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 23 févr. 2006 à 11:58
0
Merci
c'est ce que j'ai dit depuis le début mais manifestement tu as dis non sans même tester
Commenter la réponse de Cirec
griffon07
Messages postés
1
Date d'inscription
dimanche 1 juillet 2007
Dernière intervention
22 avril 2012
- 22 avril 2012 à 17:14
0
Merci
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 !
Commenter la réponse de griffon07

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.