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

 Delphi Discussion :

Erreur : Access violation


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut Erreur : Access violation
    Bonjours,

    Je suis actuellement en stage depuis 4 semaines, où je doit debugué un logiciel en delphi. N'ayant jamais fait de Delphi avant je suis tombé sur un os

    Voila quand j'execute mon application (qui fait un rapport d'erreur entre un fichier d'échange en .TXT et un referrentiel en .xls) et que je fait un/plusieurs tests tous se passe bien. Mais quand je ferme l'application j'ai une fenetre qui s'affiche avec l'erreur "Le projet XXX.exe a provoqué trop d'exception consécutive : access violation at 0x00493836:read of adress 0x00ac595c." puis un runetime 216 sur 00493836.

    Dans l'edi quand le cpu s'ouvre j'ai a la ligne 00493836 un "mov ecx, [eax]"

    Ma ou plutot mes questions sont :

    - Qu'est-ce qui peut faire cette erreur ?
    - Que veux dire "mov ecx, [eax] ?

    J'ai tenté de mettre des Application.terminate et Application.Destroy. Le 1er ne change rien mais le 2eme enleve l'erreur mais ne tue pas l'application dans le gestionnaire de tache.

    Je suis sur un Windows xp de l'entreprise avec un Delphi 7.

    En esperant avoir etait clair et pas trop chiant a lire

    Merci pour vos (futur) réponse

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par lapinoob Voir le message
    ...Mais quand je ferme l'application j'ai une fenetre qui s'affiche avec l'erreur "Le projet XXX.exe a provoqué trop d'exception consécutive : access violation at 0x00493836:read of adress 0x00ac595c." puis un runetime 216 sur 00493836.

    Dans l'edi quand le cpu s'ouvre j'ai a la ligne 00493836 un "mov ecx, [eax]"

    Ma ou plutot mes questions sont :

    - Qu'est-ce qui peut faire cette erreur ?
    - Que veux dire "mov ecx, [eax] ?
    AMHA, beaucoup d'erreurs et d'exceptions sont capturées et masquées dans le code (il faudrait examiner les blocs try.. except [cette partie] end et voir comme cela est traité.
    Citation Envoyé par lapinoob Voir le message
    - Que veux dire "mov ecx, [eax] ?
    C'est une instruction en assembleur (langage machine) qui correspond à l'endroit où a été détecté comme le problème, mais pas forcément sa cause qui peut être plus en amont...

    Citation Envoyé par lapinoob Voir le message
    J'ai tenté de mettre des Application.terminate et Application.Destroy. Le 1er ne change rien mais le 2eme enleve l'erreur mais ne tue pas l'application dans le gestionnaire de tache.
    Ce n'est pas cela qui règlera le problème, mais plutôt le déplacera (l'application reste en mémoire)...
    Citation Envoyé par lapinoob Voir le message
    Je suis sur un Windows xp de l'entreprise avec un Delphi 7.
    Placer des points d'arrêts dans les blocs de traitement des exceptions, tracer pas à pas l'application par raffinage successif pour déterminer où se situe le problème.

    Une violation d'accès se produit quand on veut accéder à un objet non initialisé...

    Un petit lien en anglais : Gérer et prévenir les VA avec Delphi
    Philippe.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Merci de ta réponse.

    Je vais aller faire le pas à pas et je dirait si sa marche

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut nouvelle question
    Citation Envoyé par Ph. B. Voir le message
    Placer des points d'arrêts dans les blocs de traitement des exceptions, tracer pas à pas l'application par raffinage successif pour déterminer où se situe le problème.
    Les points d'arrets c'est bien les points rouge ? (quand j'ai dit débutant c'est vraiment débutant )

    Si c'est les points rouges, si il y a une croix dedans apres le pas à pas sa veux dire qu'il y a une erreur ?

    J'ai cherché sur google et j'ai compris le points d'arrets. Mon probleme maintenant c'est que l'appli ce lance bien mais j'arrive pas a voir les lignes quand j'ouvre une fenetre pour choisir les fichiers

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Si le problème ne survient qu'à la fermeture du programme, c'est en règle générale parce qu'il y a une tentative de destruction d'un objet qui a déjà été détruit. Par exemple une liste TObjectList par défaut va libérer tous les objets qu'elle contient à sa propre destruction. S'il y a une référence externe sur l'un de ces objets et que tu tentes un Free dessus, alors AV.

    La même chose peut arriver s'il y a création dynamique de composants visuelles avec propriétaire. Le propriétaire (Owner) va libérer automatiquement tout ce qu'il possède.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    La même chose peut arriver s'il y a création dynamique de composants visuelles avec propriétaire. Le propriétaire (Owner) va libérer automatiquement tout ce qu'il possède.
    Comment voir si c'est une création dynamique ?
    Car je n'ai pas fait le code, je suis juste la pour debugué.

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par lapinoob Voir le message
    Si c'est les points rouges, si il y a une croix dedans apres le pas à pas sa veux dire qu'il y a une erreur ?
    S'il y a une croix c'est :
    - Que le programme est en mode release et faudrait le passer en mode debug pour reconstruire (Projet/Option/Compilateur/Compilation)
    - Que le programme ne passe jamais dans cette partie du code.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Citation Envoyé par lapinoob Voir le message
    Comment voir si c'est une création dynamique ?
    Car je n'ai pas fait le code, je suis juste la pour debugué.
    S'il y a plus de champs affichés au runtime qu'au design, il y a création dynamique
    Il faut regarder les évènements OnCreate des fiches et les comparer avec les OnDestroy et plus généralement les Constructor et Destructor des nouvelles classes définies.

    Difficile de t'en dire plus sans code...

    Mais es-tu programmeur ? Parce que le concept de POO et son implémentation est identique quelque soit le langage utilisé.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Mais es-tu programmeur ? Parce que le concept de POO et son implémentation est identique quelque soit le langage utilisé.
    Non je suis pas encore officielement programmeur. Je suis en BTS SIO, donc j'ai un peu de notion de POO.

    Et pour le code, c'est qu'il y a 1 200 lignes et je sais pas où se situe l'erreur (La de toute façon je peut pas mettre de code, vu que je suis en week end et donc j'ai pas accés aux codes jusqu'a lundi)

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Bonjours,

    Je me suis replongé dans le code

    Citation Envoyé par Ph. B. Voir le message
    Bonjour,
    il faudrait examiner les blocs try.. except [cette partie] end et voir comme cela est traité.
    J'ai tester et en faisant le pas à pas il rentre bien dans le try et en resort bien

    Citation Envoyé par Andnotor Voir le message
    Si le problème ne survient qu'à la fermeture du programme, c'est en règle générale parce qu'il y a une tentative de destruction d'un objet qui a déjà été détruit. Par exemple une liste TObjectList par défaut va libérer tous les objets qu'elle contient à sa propre destruction. S'il y a une référence externe sur l'un de ces objets et que tu tentes un Free dessus, alors AV.

    La même chose peut arriver s'il y a création dynamique de composants visuelles avec propriétaire. Le propriétaire (Owner) va libérer automatiquement tout ce qu'il possède.
    D'après ce que j'ai vu je n'ai pas de création dynamique.
    Donc si je resume ton commentaire l'erreur viendrait que le code detruit les 3 TStringList avant que je fasse le free dessus ?

    Les 3 TStringList sont crées et dans ma fonction qui permet la fermeture je les free.

    Mais même si je met pas les .free il m'indique quand meme l'erreur

    Question :

    Vaut mieu que je mette .free ou .Destroy sur les TStringList quand je ferme mon application ?

  11. #11
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par lapinoob Voir le message
    Question :

    Vaut mieu que je mette .free ou .Destroy sur les TStringList quand je ferme mon application ?
    On n'appelle jamais Destroy directement !
    On appelle Free qui lui se chargera d'invoquer le Destroy si l'objet existe.

    @+

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Nouvelle petit question :

    Est-ce que il peut y avoir un conflit avec un .clear et un .free ? ou ils n'ont rien a voir entre eux ?

  13. #13
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Si tu parles toujours du TStringList, la méthode Clear vide la liste de son contenu, et Free détruit l'objet. Donc "rien à voir" je ne sais pas trop comment tu l'entends.

    Par contre si tu appelles Clear alors tu as déjà détruit l'objet avec Free, alors... boum

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Petite precision le code est écrit en Delphi 6 et je suis en Delphi 7

    Sa ne change pratiquement rien que je passe du 6 au 7 ? Du point de vue de la resolution de mon probleme d'AV.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Je up le sujet avec une nouvelle petit question

    Quand je fait du pas à pas et que je met ma souris sur une varibale que j'instancie.
    ex :

    sa me met info.etat valeurs inaccessible. Est-ce normal ?

    Pour info, le info est une classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TInfo = class (TObject)
       public
          poste_pt : String;
          id_info  : String;
          elt      : String;
          etat     : String;
       end;

  16. #16
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    Oui c'est normal, parfois tout est valide mais on ne peux pas avoir les valeurs car pas dans le bon "contexte" si je puis dire.

    Ce qui n'est pas normal, c'est qu'on donne du debug à un stagiaire qui n'y connais rien, sans vouloir te manquer de respect. sauf s'il s'agit d'un test pour voir comment tu t'en sors.

    Le fait que tu sois sur D7 pour vérifier du code D6 ne pose pas de problème, l'inverse pourrait être problématique mais entre D6 et D7 ce sont surtout des amélioration d'IDE et non de langage donc pas de différence flagrante en dehors des opti compilo et stabilité de l'IDE.


    Je ne vois pas l'interet d'avoir TInfo en type TObject alors qu'un record suffirait.
    Encore un programme codé comme un pied gauche par un autre pied gauche.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Dr.Who Voir le message
    Ce qui n'est pas normal, c'est qu'on donne du debug à un stagiaire qui n'y connais rien, sans vouloir te manquer de respect. sauf s'il s'agit d'un test pour voir comment tu t'en sors.
    Je le prend bien mais non il ne s'agit pas d'un test. Mais le debug était assez "simple" (vu mon niveau je doit avoir coder comme un pied gauche ) jusqu'a l'erreur de memoire vu que le delphi ressemble assez au JAVA, que j'apprend en cours, ou inversement

    Citation Envoyé par Dr.Who Voir le message
    Je ne vois pas l'interet d'avoir TInfo en type TObject alors qu'un record suffirait.
    Encore un programme codé comme un pied gauche par un autre pied gauche.
    J'ai regardé et le programme date de 2003 puis repris en 2005 depuis a "l'abandon" .
    Et si je change les TInfo en record est-ce que sa pourra faire disparaitre l'erreur de l'AV.
    Le record n'est pas plutot pour les tableaux ?

    Autre petite question :
    Est-ce qu'il y a des softs pour voir où sont les erreurs de memoirs ?

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    REBONDISSEMENT,

    J'ai chercher et trouvé l'outil "FastMM4" et il m'indique dans la fenetre :

    TRef x42, AnsiString x1305
    TInfo x 480, AnsiString x344

    Voici Tinfo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TInfo = class (TObject)
       public
          poste_pt : String;
          id_info  : String;
          elt      : String;
          etat     : String;
       end;
    Voici Tref
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRef = class(TObject)
       public
          etat_1   : String;
          etat_2   : String;
       end;
    2 Question : que veulent dire les AnsiString ? et Est-ce qu'on peut detruire des Tobjet ?

  19. #19
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Citation Envoyé par lapinoob Voir le message
    2 Question : que veulent dire les AnsiString ? et Est-ce qu'on peut detruire des Tobjet ?
    AnsiString est une chaîne de caractères mono-octet.
    Bien sûr qu'on peut détruire les TObject, mais ceux-là ne sont pas la source de la violation d'accès. Par contre, ça pourrait te donner une indication sur l'endroit de l'exception si ceux-ci étaient censés être détruits après

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 10
    Points
    10
    Par défaut ENFIN UNE BONNE NOUVELLE
    Donc j'ai reussit a afficher le rapport de fastMM4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    4029F3 [System][System][@GetMem]
    466D16 [Main.pas][Main][TfrmMain.mnuVerificationClick][1273]
    444B0C [Controls][Controls][TWinControl.WndProc]
    444787 [Controls][Controls][TWinControl.MainWndProc]
    4239CA [Classes][Classes][StdWndProc]
    7E398734 [Unknown function at GetDC]
    7E398816 [Unknown function at GetDC]
    7E3989CD [Unknown function at GetWindowLongW]
    7E3996C7 [DispatchMessageA]
    45FCE0 [Forms][Forms][TApplication.ProcessMessage]
    467198 [C:\Le Berre Antoine\1.4\projet.dpr][projet][projet][105]
     
    Le bloc était actuellement utilisé pour un objet de la classe: TRef
    et

    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
    4029F3 [System][System][@GetMem]
    464C79 [Main.pas][Main][TfrmMain.Charger_FichierEchange][718]
    466CED [Main.pas][Main][TfrmMain.mnuVerificationClick][1267]
    444B0C [Controls][Controls][TWinControl.WndProc]
    444787 [Controls][Controls][TWinControl.MainWndProc]
    4239CA [Classes][Classes][StdWndProc]
    7E398734 [Unknown function at GetDC]
    7E398816 [Unknown function at GetDC]
    7E3989CD [Unknown function at GetWindowLongW]
    7E3996C7 [DispatchMessageA]
    45FCE0 [Forms][Forms][TApplication.ProcessMessage]
     
    Le bloc était actuellement utilisé pour un objet de la classe: TInfo
    ou
    Le bloc était actuellement utilisé pour un objet de la classe: AnsiString
    Si je suis pas c** le 1er bloc veux bien dire que l'erreur se situe dans le .pas a la ligne 1273 et que c'est a propose du Tref
    Et dans le 2eme bloc c'est a la ligne 718 et 1 267 avec une erreur Tinfo

    La ligne 1 273 pointe sur une fonction où il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ref:=TRef.Create;
    ref.etat_1:=String(worksheet.Cells[no_ligne,2]);
    ref.etat_2:=String(worksheet.Cells[no_ligne,3]);
    stsRef.AddObject(id_info,ref);
    La ligne 1 267 pointe sur une fonction où il y a la ligne 718 qui elle pointe sur une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    info:=TInfo.Create;
    info.poste_pt:=pos_pt;
    info.id_info:=relais;
    Mais que veulent dire les autres lignes ? Est-ce que les AnsiString veulent dire qu'il y a toujours des strings dans les Tref et Tinfo ce qui les empeche de vider la memoire ?

    Autre question

    J'ai une ligne qui fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stsRef.AddObject(id_info,ref);
    id_info est un string et ref appartient au Tref et stsRef un TstringList
    Est-ce qu'il faut que je vide le stsRef avant de faire un free ? (petite betise de ma part je vide deja les TStringList avec un .clear)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. problèmes Socket erreur : Access violation
    Par milanoran dans le forum C++
    Réponses: 5
    Dernier message: 24/10/2010, 14h15
  2. erreur "ACCESS VIOLATION"
    Par sacha400 dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 14/04/2010, 18h34
  3. Réponses: 3
    Dernier message: 29/12/2009, 18h22
  4. [Lazarus] [0.9.27] Erreur access violation avec TCalendar
    Par ovni76 dans le forum Lazarus
    Réponses: 5
    Dernier message: 22/07/2009, 12h17
  5. Erreur Access Violation : API mySQL et Builder 6
    Par Invité dans le forum C++Builder
    Réponses: 33
    Dernier message: 14/11/2008, 11h11

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