Also know as
Messages postés259Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention22 novembre 2010
-
14 févr. 2004 à 17:14
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
14 févr. 2004 à 19:52
Bonjour,
Voilà mon problème, J’ai crée un procédure au démarrage de l’application qui fait une vérification dans le registre et la met dans la Form2.
Mon problème est que je n’arrive pas à le lancer au démarrage, car à chaque fois qu’il démarrer, il m’affiche ce message :
"Violation d’accès à l’adresse 004598BF dans le module ‘executable.exe’. Lecture de l’adresse 00000300."
Puis, après avoir cliqué sur OK le programme comme si je ne lui avais rien demandé au démarrage.
Je sais que cela vient du fait que je lui demande « trop tôt » cette procédure qui va chercher dans la Form2 une information.
Je sais que ma procédure est juste, car si j’utilise la même procédure mais quand je clique sur un bouton, cela marche.
J’ai essayé de la mettre dans Oncreate comme dans OnShow mais rien n’y fait.
Est-ce que quelqu’un aurait une idée pour qu’il n’y ai pas d’erreur au démarrage et qu’il prenne en compte ma procédure ?
Voici la procédure quand la Form1 est visible :
procedure TForm1.FormShow(Sender: TObject);
Var
Registre : TRegistry;
begin
Registre:=TRegistry.Create; //Crée un objet TRegistry
Registre.RootKey:=HKEY_CURRENT_USER; //Définit la clé principale
Registre.OpenKey('\Software\Microsoft\Mr Recherche',False);
Form2.Edit1.Text:=Registre.ReadString('Mr Recherche');
if Form2.Edit1.Text<>'' then
begin
Form1.RechercherdanstouslesCD1.Visible:=True;
Form1.FaireunrecherchedanstouslesCD1.Visible:=False;
Form1.ChangerladressedulogicielMrRecherche1.Visible:=True;
Form1.N1.Visible:=True;
Form2.Hide;
end;
Registre.CloseKey; //Ferme la clé
Registre.Free; //Détruit l'objet
end;