IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Problème ouverture d'un deuxième Form avec la fonction ShowModal


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 2
    Par défaut Problème ouverture d'un deuxième Form avec la fonction ShowModal
    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 !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Je n'y connais rien à C++Builder, mais
    #include Unit2.cpp
    On n'inclut pas les .cpp.
    read of address 0x00000000
    Tu utilises un pointeur nul. Form2 d'après ta prose.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    Bousk t'a indiqué tout ce qu'il est possible à partir de tes info. Avec ton code on pourrait voir pourquoi ton pointeur Form2 serait mal initialisé.

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 2
    Par défaut
    Re-bonjour !

    Merci beaucoup d'avoir répondu !

    J'ai remplacé mon #include Unit2.cpp par #include Unit2.h et ça fonctionne ! Je me doutais bien que c'était une erreur toute bête ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de redimensionnement d'une form avec proportionnalité
    Par Basile le disciple dans le forum Débuter
    Réponses: 5
    Dernier message: 03/05/2013, 20h00
  2. Réponses: 3
    Dernier message: 08/10/2009, 12h47
  3. Réponses: 3
    Dernier message: 24/10/2006, 11h05
  4. Problème ouverture de document sous forms 10G
    Par squallJ dans le forum Forms
    Réponses: 1
    Dernier message: 22/08/2006, 14h27
  5. Réponses: 6
    Dernier message: 03/04/2006, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo