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 :

[BSD 2006] Erreur de violation d'accès sur un ShowModal


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut [BSD 2006] Erreur de violation d'accès sur un ShowModal et Print
    Bonjour.
    Alors voilà, j'ai plusieurs form dans mon projet qui sont toutes appelées à partir de ma form principales par la fonction ShowModal().
    Mais voilà, la dernière form que je viens d'ajouter me mets à chaque fois une message d'erreur de Violation d'accès mémoire et je ne sais pas pourquoi.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    AnsiString password = "";
    while(Application->MessageBox("Souhaitez-vous associer un mot de passe avec ce fichier ?", "Mot de passe", MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION) == ID_YES)
    {
    	Application->MessageBox("ATTENTION, veillez à mettre un mot de passe dont vous vous souviendrez...", "ATTENTION", MB_OK);
    	PasswordDlg->ShowModal();   //erreur sur cette ligne
    	if(password == "Mot de passe de fichier annulé")
    	{
    	       Application->MessageBox("Vous avez annulé la saisie du mot de passe.", "Annulation mot de passe", MB_OK);
    	}
    	else
    	{
                    break;
            }
    }
    Voilà, si quelqu'un vois pourquoi ca plante...

  2. #2
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    question idiote, mais ta Form a-t-elle déjà été créé lorsque tu l'appelles?

  3. #3
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par bandit boy
    Salut,
    question idiote, mais ta Form a-t-elle déjà été créé lorsque tu l'appelles?
    salut.
    tu veux dire quoi par là?
    car j'ai au lancement de mon appli les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Application->CreateForm(__classid(TForm1), &Form1);
    Application->CreateForm(__classid(TPasswordDlg), &PasswordDlg);
    Application->Run();
    et le code précédent sur action d'un bouton de ma form1...

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut
    Peut-être teste si "PasswordDlg != NULL" avant de faire l'appel au ShowModal() ? Ton code fonctionne bien chez moi. Donc à priori, je ne vois que ça.

  5. #5
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    En fait tu pouvais avoir ce genre de problème quand tu mets ton code sur un OnFormCreate, c'est pour ca.

    Sinon je rejoins l'idée de kurkaine, teste si ta Form existe avant.

  6. #6
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    BOnjour à tous.
    Merci pour vos réponses.
    Pour le moment, ça à l'air de marcher...
    Je vais continuer à tester quand même et voir si ça marche vraiment où si c'était un passage comme dèsfois où ca marche...
    je vous tiens au courant si j'ai toujours un problème.
    En attendant, je mets le sujet en ...
    à vous

  7. #7
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Rebonjour à tous
    Alors me revoilà avec mon problème...
    et donc, comme je le craignais, j'ai pourtant laisser comme vous me l'aviez dit le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(PasswordDlg != NULL)
    , ca continue toujours de planter sur le ShowModal!!!
    Que faire???
    Surtout que vu qu'il plante sur le ShowModal, ca signifie que PasswordDlg n'est pas NULL!!!!
    Là, je suis très ennuyé du coup car ca me bloque....

    Et voilà, et maintenant, ça plante aussi avec la même erreur sur un print venant de TCustomForm, je fais juste dans la fonction du clic sur un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    {
        maForm->Print();
    }    //ça se met en erreur ici
    si quelqu'un a aussi une idée...???

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/12/2006, 15h18
  2. Violation d'accès sur un TIdFTP
    Par cfalcot dans le forum Web & réseau
    Réponses: 9
    Dernier message: 09/05/2006, 15h14
  3. violation d'accès sur open de TQuery
    Par letissya dans le forum Bases de données
    Réponses: 5
    Dernier message: 08/11/2005, 14h35
  4. [D7] Erreur de violation d'accès
    Par plante20100 dans le forum Langage
    Réponses: 10
    Dernier message: 26/08/2005, 11h05
  5. Violation d'accès sur un TXMLDocument
    Par WebPac dans le forum Composants VCL
    Réponses: 14
    Dernier message: 15/03/2005, 15h10

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