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

Langage Delphi Discussion :

Opération de pointeur incorrecte


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Opération de pointeur incorrecte
    Bonjour

    Qu'est-ce qui peut provoquer une opération de ponteur incorrecte ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Précision
    L'erreur pointeur incorrecte apparait depuis que j'ai ajouté le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        // Code ajouté pour effacer les fichiers du répertoire CALIB
       Sts:= Tstrings.Create;
       try
         Sts:=FileListBox.Items;
         S:= ExtractFilePath(Application.exeName)+'Data\CALIB\';
         ChDir(FileListBox.Directory);
         for i := 0 to Sts.Count - 1 do DeleteFile(S+Sts[i]);
         FileListBox.Clear;
         ChDir(ExtractFilePath(Application.exeName));
       finally
         Sts.Free;
       end;
       // Fin du code ajouté
    Je ne vois pas d'erreur !

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut


    l'erreur est certainement due à la mauvaise utilisation de Sts.
    tel que tu le fait, tu libère l'objet Items du FileListBox, et non Sts. essaie comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        // Code ajouté pour effacer les fichiers du répertoire CALIB
       Sts:= Tstrings.Create;
       try
         Sts.Assign(FileListBox.Items);
         S:= ExtractFilePath(Application.exeName)+'Data\CALIB\';
         ChDir(FileListBox.Directory);
         for i := 0 to Sts.Count - 1 do DeleteFile(S+Sts[i]);
         FileListBox.Clear;
         ChDir(ExtractFilePath(Application.exeName));
       finally
         Sts.Free;
       end;
       // Fin du code ajouté

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Ca ne doit pas être cela car :
    à la ligne "Sts.Assign(FileListBox.Items)" il déclanche une "Erreur abstraite" !!!
    C'est quoi cette nouvelle erreur ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Dans le même genre d'idée
    je viens de remplacer la ligne "sts.Assign" par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         for i := 0 to FileListBox.Count - 1 do Sts.Add(FileListBox.Items[i]);
    J'obtiens la même erreur abstraite !!!

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Utilises plutôt un TStringList

    Dérivez une classe de TStrings pour stocker et manipuler une liste de chaînes.TStrings contient des méthodes abstraites ou,dans la terminologie C++,virtuelles pures et ne doit pas être instanciée directement.
    la classe TStrings ne doit pas être utilisée directement, car contenant des méthodes abstraites (d'où l'erreur).

    ceci devrait fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        // Code ajouté pour effacer les fichiers du répertoire CALIB
       Sts:= TStringList.Create;
       try
         Sts.Assign(FileListBox.Items);
         S:= ExtractFilePath(Application.exeName)+'Data\CALIB\';
         ChDir(FileListBox.Directory);
         for i := 0 to Sts.Count - 1 do DeleteFile(S+Sts[i]);
         FileListBox.Clear;
         ChDir(ExtractFilePath(Application.exeName));
       finally
         Sts.Free;
       end;
       // Fin du code ajouté

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Ok ca marche
    Mille merci !

    La solution TstringList ne provoque plus l'erreur.

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

Discussions similaires

  1. Opération de pointeur incorrect
    Par BuzzLeclaire dans le forum Langage
    Réponses: 10
    Dernier message: 26/05/2011, 01h20
  2. "Opération de pointeur incorrect"
    Par Sancha dans le forum Langage
    Réponses: 5
    Dernier message: 18/11/2009, 12h33
  3. Opération de pointeur incorrecte au Raise d'une exception
    Par stanislas dans le forum Débuter
    Réponses: 5
    Dernier message: 24/06/2009, 11h11
  4. Réponses: 21
    Dernier message: 10/07/2008, 12h09
  5. Message d'erreur 'opération de pointeur incorrecte'
    Par Clotilde dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2008, 09h40

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