yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010
-
14 févr. 2006 à 19:14
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008
-
14 févr. 2006 à 22:50
Bonjour,
- J'ai une application avec 3 form.
Sur la 1°, j'ai 1 adoconection, 3 ADOTable, 2 ADOQuery.
J'ai décidé de mettre tout ca dans un DataModule que j'ai nommé dans la propriété Name : DM.
- J'ai déclaré dans mon Unit1 : uses unit4.
- Puis devant tous mes ADOTable ..., ADOQuery, ..., ADOConnection, j'ai mis DM. (soit par ex : DM.ADOTable1....).
- J'ai compilé, tout est ok. Je fais F9, j'ai le message suivant :
Exception déclenchée à $7C81EB33. Classe d'exception EAccessViolation avec message 'Violation d'accès à l'adresse 005071E2 dans le module 'Project1.exe'. Lecture de l'adresse 00000078'. Processus Project1.exe (848)
Je clique malgré tout sur "continuer" et mon prog marche quand meme.
Quand je fais F7, je m'apercois que le message d'erreur aparait dans :
procedure TForm1.FormCreate(Sender: TObject);
Begin
.....
DM.ADOTableCompte.First;
....
End;
Et là, il bloque carrément.
yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010 14 févr. 2006 à 19:38
J'ai resolu le probleme en modifiant la source comme ceci. J'ai inversé l'ordre des création des Unit.
Par contre, juste une question : dans un FormCreate, quel est le code qui m'aurait permis de faire la meme chose ?
program Project1;
uses
Forms,
unit1 in 'unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas',
Unit5 in 'Unit5.pas' {DM: TDataModule};
walid2876
Messages postés49Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention31 août 2008 14 févr. 2006 à 22:50
Utiliser l'evenment OnActivate de la form1
Ou dans l'evenement AfterOpen de AdoTableCompte ..
Mais jamais avec OnCreate avec Ton cas , meme si tu inverse le ordre de creation c'est faux OnCreate c'est un enevement qui se produit lors de construction de la form (Constructor) on met ici des initialisation des variable et des membres de la classe et apres le creation et lorsque la fiche sera visible tu peux acceder a ta basede donnée
il sera mieux