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 :

Violation d'accès à l'adresse x


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Violation d'accès à l'adresse x
    Bonjour à tous,
    C'est un peu en désespoir de cause que je poste ce message, car je pense avoir presque tout essayé... J'ai une appli en Delphi 5 sous W2K avec des bases de donnees Informix, et surtout des transferts de données par les ports com. Le programme est assez énorme, avec des tonnes de fonctions, procedures, et appels à des dll externes. L'application fonctionne tres bien, aucune erreur en exécution, mais des que je ferme le programme, j'ai des erreurs de type 'violation d'acces à l'adresse ........' ou 'memory can't be read...' et le process reste dans les process en cours dans le gestionnaire de taches. J'ai verifié avoir bien effectué des free pour chaque create, mais sans résultat. Y a t'il un moyen de cerner un peu plus le composant, la variable, l'instruction qui cause tout ça, parceque les adresses sous la forme XXXXXXXXX c'est bien joli, mais pas tres parlant...

    PS j'ai bien entendu essayé de faire du pas à pas à la fermeture de l'appli, mais ça ne m'a rien donné de plus

    Merci

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    vous utlisé des thréads??
    car quelque fois si en detruit des element que les thréad accéd ou autre type de processus avant que ces dérniers soit arréter on peut avoir ces types d'erreurs
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Non, pas de threads !!

  4. #4
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    sûr? n'oublie pas que tu utlise un port série(quel coposant tu utlise, comport?) des dll,qui peut contenir des thréad
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 534
    Points : 25 082
    Points
    25 082
    Par défaut
    Déjà une chose importante, si tu as une exception type delphi, c'est que l'erreur n'est pas dans la clause finalization (à cet endroit c'est une RunTime Error 216 en général)

    Lance le Programme, et coche dans Delphi (Options du Débugger), "Arrêter sur Exception Delphi" cela peut aider ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Non... certain pour les threads, le composant port c'est un TCommPortDriver, les dlls sont développées en interne et j'ai tous les sources... Pas de Threads

  7. #7
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    Citation Envoyé par Gremlins13 Voir le message
    Non... certain pour les threads, le composant port c'est un TCommPortDriver,
    et celui là?

    en plus revérifier les finalise des dll,
    autre chose, si par hazar tu freemem des pointeur dans Tlist ou de ce genre,
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Effectivement, désolé pour le TCommPortDriver, mais je l'utilise tellement souvent que j'ai du mal à le mettre en cause, de plus je les (il y en a plusieurs) déconnecte s'ils ne le sont pas déjà, sur le onclose de la forme . J'ai l'impression (sans certitude) que le pb vient d'un TStream qui ne doit pas être libéré systématiquement .... je vais replonger dans les 9500 lignes du codes , retracer encore, en essayant de reproduire le phénomène qui de plus n'est pas systématique

Discussions similaires

  1. violation d'accès à l'adresse ect
    Par Shibron dans le forum Débuter
    Réponses: 9
    Dernier message: 20/01/2009, 14h01
  2. Réponses: 2
    Dernier message: 08/01/2009, 11h02
  3. Violation d'accès à l'adresse
    Par gentilman_delphi dans le forum Bases de données
    Réponses: 12
    Dernier message: 04/03/2008, 18h51
  4. Réponses: 2
    Dernier message: 18/11/2007, 09h11
  5. "violation d'acces à l'adresse" en sortie de primi
    Par netah25 dans le forum C++Builder
    Réponses: 20
    Dernier message: 18/01/2005, 11h22

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