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

  1. #1
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    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...
    développeur en folie cherche à ... développer encore plus

  2. #2
    Membre éprouvé
    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
    Points : 1 007
    Points
    1 007
    Par défaut
    Salut,
    question idiote, mais ta Form a-t-elle déjà été créé lorsque tu l'appelles?

  3. #3
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    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...
    développeur en folie cherche à ... développer encore plus

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Points : 152
    Points
    152
    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 éprouvé
    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
    Points : 1 007
    Points
    1 007
    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 éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    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
    développeur en folie cherche à ... développer encore plus

  7. #7
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    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...???
    développeur en folie cherche à ... développer encore plus

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Ici c'est pas évident de trouver l'origine du bug !

    Le mieux serait sans doute de construire cette dialog non pas in situ mais juste avant l'appel et la détruire au retour de l'appel.

    Peut-être que ce n'est pas possible dans l'immédiat.. (?) par exemple si le programme principal utilise des données contenues dans cette dialog ... ça va te donner du travail supplémentaire...

    En contre partie, on aurait la garantie que cette dialog existe.

    Sinon, chercher dans le code existant tout ce qui concerne cette dialog et en particulier rechercher si elle n'est pas détruite quelque part !

    Peut-être que tu vas trouver Action = caFree dans sa OnClose... ???

    C'est peut-être l'explication du pointeur non NULL vers une zone mémoire qui n'est plus allouée.

    A plus !

  9. #9
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    qu'entends-tu alors par "créer juste avant l'appel" et surtout, comment le fais-tu?
    développeur en folie cherche à ... développer encore plus

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Rappel de ce que tu as donné au préalable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application->CreateForm(__classid(TForm1), &Form1);
    Application->CreateForm(__classid(TPasswordDlg), &PasswordDlg);
    Application->Run();
    Donc ça devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Application->CreateForm(__classid(TForm1), &Form1);
    //On passe outre la construction in situ
    //Application->CreateForm(__classid(TPasswordDlg), &PasswordDlg);
    Application->Run();
    L'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TPasswordDlg *Passw = new TPasswordDlg(Owner);
    //Peut-être initialiser quelque chose avant de la montrer ??? Puis :
    if(Passw->ShowModal() == mrOk)
        {
        }
    else
        {
        }
    delete Passw;
    A noter que TPasswordDlg ne doit pas se détruire dans sa OnClose (ne pas y faire Action = caFree).
    On doit donc avoir lors du click sur ses boutons (qui normalement vont agir sur le ModalResult de la fiche) un simple Hide();
    Celà dit, peut-être as-tu mis en place un autre mécanisme pour fermer cette dialog ?

    Pour la suite du bug je ne vois pas MyForm ? Existe t-elle ?

    A plus !

  11. #11
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par henderson
    Salut !

    Rappel de ce que tu as donné au préalable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application->CreateForm(__classid(TForm1), &Form1);
    Application->CreateForm(__classid(TPasswordDlg), &PasswordDlg);
    Application->Run();
    Donc ça devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Application->CreateForm(__classid(TForm1), &Form1);
    //On passe outre la construction in situ
    //Application->CreateForm(__classid(TPasswordDlg), &PasswordDlg);
    Application->Run();
    L'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TPasswordDlg *Passw = new TPasswordDlg(Owner);
    //Peut-être initialiser quelque chose avant de la montrer ??? Puis :
    if(Passw->ShowModal() == mrOk)
        {
        }
    else
        {
        }
    delete Passw;
    A noter que TPasswordDlg ne doit pas se détruire dans sa OnClose (ne pas y faire Action = caFree).
    On doit donc avoir lors du click sur ses boutons (qui normalement vont agir sur le ModalResult de la fiche) un simple Hide();
    Celà dit, peut-être as-tu mis en place un autre mécanisme pour fermer cette dialog ?

    Pour la suite du bug je ne vois pas MyForm ? Existe t-elle ?

    A plus !
    ok, je teste ca et je te dis.
    pour la suite du beug, oui, la form existe, c'est simplement qu'au début, je vous ai mis qu'une partie des initialisations...
    le print est d'ailleurs fait sur le clic d'une bouton se trouvant sur cette form

    sinon, je ferme ma form password avec visible = false...
    développeur en folie cherche à ... développer encore plus

  12. #12
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    bon, alors en fait, je viens de refaire différent test et vu que le fait de déclarer juste avant et de mettre Hide à la place de Visible non plus, je me suis dis (après avoir fait du pas à pas et découvert qu'un des problèmes était mon code pour masquer la fenêtre), essayons sur rien... et là, ça marche et la fenêtre disparaît bien toute seule.
    Cela peut-il venir du fait que j'ai utilisé (quand je l'ai créé avec fichier->nouveau) directement une form pour mot de passe et que celles-ci serait préconfiguré pour se fermer ??? et que donc, fermer deux fois et impossible ?

    sinon, pour mon problème d'impression avec le print, ça ne peut pas être ça car j'ai tout créé moi-même et je ne ferme jamais la fenêtre durant cette action là. donc, je n'ai toujours pas d'idé pour ça...

    [EDIT]
    en fait, j'ai remarqué que comme mon autre boîte de dialogue, le fait que je clique sur mon bouton fait se fermer ma boîte de dialogue sans que je lui demande et du coup, le print qui fait un imprime-ecran plante...
    [/EDIT]
    développeur en folie cherche à ... développer encore plus

  13. #13
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    La boite de dialogue telle que me la fournit BCB (3 Pro) se charge elle-même de se fermer soit par l'intermédaire des 2 boutons (OK et CANCEL) soit avec un RETURN sur le TEdit.

    Ton code devrait être pour l'appel et la décision :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int result = PasswordDlg->ShowModal();
        {
        //Ici le ...== "" ....n'est qu'un exemple... 
        if((PasswordDlg->Password->Text == "") || (result == mrCancel))
            {
            //ShowMessage("Pas de mot de passe !");
            }
        else
            {
            //ShowMessage("Mot de passe à traiter");
            }
        }
    Jusque la, ça fonctionne chez moi !

    Il n'y a rien d'autre à ajouter à cette boite de dialogue !

    Au départ je pensais que tu l'avais construite par toi-même (Il m'arrive de voir des problèmes là où il n'y en a pas).

    Il faudrait se remettre au diapason : qu'est-ce qui marche et qu'est-ce qui ne marche pas ?

    A plus !

  14. #14
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par henderson
    Salut !

    La boite de dialogue telle que me la fournit BCB (3 Pro) se charge elle-même de se fermer soit par l'intermédaire des 2 boutons (OK et CANCEL) soit avec un RETURN sur le TEdit.

    Ton code devrait être pour l'appel et la décision :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int result = PasswordDlg->ShowModal();
        {
        //Ici le ...== "" ....n'est qu'un exemple... 
        if((PasswordDlg->Password->Text == "") || (result == mrCancel))
            {
            //ShowMessage("Pas de mot de passe !");
            }
        else
            {
            //ShowMessage("Mot de passe à traiter");
            }
        }
    Jusque la, ça fonctionne chez moi !

    Il n'y a rien d'autre à ajouter à cette boite de dialogue !

    Au départ je pensais que tu l'avais construite par toi-même (Il m'arrive de voir des problèmes là où il n'y en a pas).

    Il faudrait se remettre au diapason : qu'est-ce qui marche et qu'est-ce qui ne marche pas ?

    A plus !
    D'accord, mais ca n'explique pas le fait que mon print() plante comme ca aussi!? si?
    développeur en folie cherche à ... développer encore plus

  15. #15
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    toujours aucune idée SVP ???
    je continue de mon côté mais je ne trouve pas pourquoi...
    développeur en folie cherche à ... développer encore plus

  16. #16
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Comment veux-tu qu'on trouve le bug à partir d'une seule ligne :

    MyForm->Print();
    Mettre un breakpoint sur la ligne pour tenter d'y voir un peu plus clair au niveau du pointeur.
    La solution se trouve forcément au niveau du pointeur (MyForm) et au niveau de l'objet qui se trouve au bout :
    - soit il n'y a pas d'objet (NULL)
    - soit il n'y a plus d'objet (le pointeur n'est pas NULL mais la mémoire a été libérée)
    - soit l'objet n'hérite pas de TCustomForm (ça peut arriver en cas de transtypage barbare)
    - soit la mémoire allouée pour cette form n'est pas dans le scope de l'exécutable (une histoire de dll ???)

    Il n'y a que toi qui peux le trouver !

    A plus !

  17. #17
    Membre éclairé
    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 : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par henderson
    Salut !

    Comment veux-tu qu'on trouve le bug à partir d'une seule ligne :



    Mettre un breakpoint sur la ligne pour tenter d'y voir un peu plus clair au niveau du pointeur.
    La solution se trouve forcément au niveau du pointeur (MyForm) et au niveau de l'objet qui se trouve au bout :
    - soit il n'y a pas d'objet (NULL)
    - soit il n'y a plus d'objet (le pointeur n'est pas NULL mais la mémoire a été libérée)
    - soit l'objet n'hérite pas de TCustomForm (ça peut arriver en cas de transtypage barbare)
    - soit la mémoire allouée pour cette form n'est pas dans le scope de l'exécutable (une histoire de dll ???)

    Il n'y a que toi qui peux le trouver !

    A plus !
    alors voilà en pièces jointes ce que j'ai dans le débogueur. Mais ce qui me surprent encore plus, c'est que ça avait toujours marché jusqu'à maintenant...!!!
    et là, dans ce cas, que dois-je faire ?
    développeur en folie cherche à ... développer encore plus

  18. #18
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Dans un premier temps :

    et non pas :

    Ca permet de fixer l'appel depuis l'instance qui est sollicitée et non pas depuis une autre instance dont on ne sait même pas si elle n'a pas été détruite (moi... je n'en sais rien) !

    C'est juste une idée... parce qu'ici (du coup) je ne sais même pas si Graph_Trace est une instance de TGraph_Trace...

    A suivre !

  19. #19
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Points : 152
    Points
    152
    Par défaut
    C'est space ce que t'écris car on est dans la classe TGraphe_Trace et tu as déclaré une classe dans tes attributs privés du genre :
    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
    16
    17
     
    class TGraphe_Trace{
    private:
      TGraphe_Trace *Graphe_Trace;
    public:
      TGraphe_Trace (); // Constructeur
      void Print();
    }
    TGraphe_Trace::TGraphe_Trace (){
      Graphe_Trace = new TGraphe_Trace();
    }
    TGraphe_Trace::Print(){
    ...
    }
    ...
      Graphe_Trace->Print();
    }
    J'espère que tu rends compte que tu as dans une classe T, un attribut de type T. J'avais vu ces cas rares durant mes études, mais je ne m'en rappelle plus l'utilisation. Donc je ne peux pas te dire si ta méthode est correcte d'un point de vue c++.

    Par contre, si ce n'est pas le cas, comme l'a dit henderson, dans un cas normal, tu dois juste écrire Print(), si tu veux faire appel à ta fonction print(). De plus, en C++, la magie des pointeurs fait que ça marche de temps en temps et dés fois, sans rien modifier, ça plante. Là, y'a pas de mystère c'est que t'as une "fuite de mémoire" et que ton programme ne marche pas. Du coup, la règle est que si ça marche une fois sur deux, considère que ça ne marche pas du tout.

    J'espère que je ne raconte pas de bétise quand même, si c'est le cas, merci de me corriger

  20. #20
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Aucune bétise rassure toi.
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

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