Bonjour, Bonsoir,
Je suis nouvelle sur le forum, et je tiens à m'excuser par avance si je ne poste pas ce message au bon endroit ou si une discussion existe déjà sur ce sujet (si c'est le cas, je ne l'ai pas trouvée).
Je commence la programmation en C++ orienté objet, et comme on peut se douter, je rencontre quelques problèmes ^^'. Je viens vers vous aujourd'hui car il y a un de ces problèmes que je ne parviens malheureusement pas à résoudre toute seule, et j'espère alors que l'une des personnes prenant le temps de lire mon message saura m'aider.
Pour commencer, je vais expliquer ce que j'essaye de faire. Ce n'est pas une action compliquer je pense, mais j'ai quand même un peu de mal. Sur mon logiciel C++ Builder (Embarcadero), j'ai créé un projet dans lequel j'ai inclus deux fiches VCL. Sur le Form (Form1) de la première fiche VCL (Unit1), je créé un simple bouton. Mon but est alors, après compilation, d'ouvrir le Form (Form2) de la seconde fiche VCL (Unit2) en cliquant sur ce bouton.
Pour ce faire, j'ai réalisé les opérations suivantes :
Pour commencer, j'ai mis le "Visible" de Unit1 sur true et celui de Unit2 sur false, de manière à n'avoir que la fenêtre du Unit1 qui s'affiche en premier lieu lors de la compilation.
Ensuite, j'ai inclus le Unit2 au Unit1 en tapant dans les premières lignes de Unit1.cpp "#include Unit2.cpp"
Pour finir, j'ai créé mon bouton dans le Unit1.dfm, auquel j'ai associé l'évènement "OnClick". De retour dans le Unit1.cpp, j'ai écrit la ligne suivante dans la fonction OnClick créée : "Form2->ShowModal();".
Je pensais ainsi qu'en cliquant par la suite sur ce bouton, la fenêtre correspondant au Form2 s'ouvrirait. Ce n'est malheureusement pas le cas, car l'erreur suivante se déclenche :
"Le projet ***.exe a déclenché la classe d'exception $C00000005 avec le message 'access violation at 0x00404DA3 read of address 0x00000000'"
J'ai fait quelques recherches, et en ai conclu que je devais avoir mal défini mon Form2, mais je ne sais absolument pas comment régler cela.
J'espère avoir été claire dans mon explication, et si ce n'est pas le cas, n'hésitez pas à me l'indiquer !
J'ose alors espérer que quelqu'un aura le courage de me répondre, même si je sens que la solution à mon problème est toute bête ^^.
Dans tous les cas, je vous souhaite à tous de passer de bonnes fêtes de fin d'année !
Partager