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

EDI Delphi Discussion :

Plantage application Delphi5 exécutée à partir de l'EDI


Sujet :

EDI Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 39
    Points
    39
    Par défaut Plantage application Delphi5 exécutée à partir de l'EDI
    Bonjour,

    J'ai développé une application en DELPHI 5. Un bouton "Valider" permet de lancer le traitement.

    Si je lance directement l'exécutable de l’application (NomAppli.exe) le traitement se termine correctement sans plantage.

    Si je lance l'application à partir de l'EDI, il y a un plantage à la sortie de l'événement "OnClick" du bouton "Valider"
    (en continuant l'exécution après le dernier "end;" de l'événement sur lequel j'ai positionné un point d'arrêt).

    Voir ci-joint les fenêtres qui s'affichent lors du plantage système : DiscussionClubDeveloppez2.pdf.

    Je ne comprends pas les raisons du plantage et encore moins comment cela peut fonctionner dans un cas et pas dans l'autre ; c'est l'objet de cette discussion. Dans les deux cas les traitements effectués produisent les mêmes résultats corrects.

    Quelqu'un aurait-il une idée ?
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 784
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 784
    Points : 15 193
    Points
    15 193
    Par défaut
    Citation Envoyé par momofr Voir le message
    Quelqu'un aurait-il une idée ?
    Tant qu'on aura zéro code à analyser, on ne risque pas d'avoir d'idée...

    C'est quand même insensé qu'il faille à chaque fois demander à voir le code qui précède le problème, comme si on avait la science infuse...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 481
    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 481
    Points : 24 955
    Points
    24 955
    Par défaut
    Une erreur sur un "end;" c'est la libération d'un élément managé comme un Tableau ou une chaine, la cause pourrait être une modification incorrecte de la mémoire par un accès via pointeur innappropié.

    Il faut aussi différencier une Exception d'une Notification d'Exception, la première pouvant être masqué par un gestionnaire d'exception à un emplacement imprévu, voire par OnException.
    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

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 39
    Points
    39
    Par défaut Voici ci-joint quelques lignes de code parmi les 4500
    Dans l'évènement "ActionValiderClick", à la sortie duquel se produit le plantage, il n'y a pas de définition de variable particulière demandant une allocation explicite.

    Les 2 seules tables allouées dynamiquement "lTableIdxListes" et "lTableIdxHeureTrt" sont définies au niveau global de l'application, le risque de plantage concernant ces tables devrait donc logiquement être situé à la sortie de l'application mais sans risque à la sortie de l'évènement.
    Il n'y a pas non plus dans cet évènement, de définition de variable de fichier, ces variables fichiers étant elles aussi définies au niveau de l'application.

    Le contenu des 2 composants "ListBoxNomsFichiers" et "ListBoxAnos" de type "TListBox" ne devrait pas non plus poser problème ("ListBoxNomsFichiers" a été chargé avec plus de 1000 lignes, "ListBoxAnos" avec moins de 10 lignes).
    Pour éviter toute ambiguité, j'avais rajouté le vidage des 2 tables et des 2 "TlistBox" avant la sortie de l'évènement, mais sans résultat.


    Voici ci-joint quelques lignes de code parmi les 4500 : DiscussionClubDeveloppez1.txt

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 39
    Points
    39
    Par défaut Disparition du plantage
    Le plantage ne se produit plus, sans avoir compris son origine ni la raison de sa disparition.

    Désolé pour le dérangement et merci encore.

  6. #6
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut Si tu compiles
    Si tu passe l'appli dans une version ultérieure pense à traiter les strings en fontion de la version de Delphi. Je viens de le faire pour un client pour une application industrielle. Je suis passé d'abord par Delphi 7 puis par Delphi 11

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/12/2006, 10h42
  2. Réponses: 3
    Dernier message: 07/12/2006, 08h51
  3. Réponses: 5
    Dernier message: 03/11/2006, 10h22
  4. Faire une application Web à partir d'objets win32
    Par WebPac dans le forum Delphi .NET
    Réponses: 7
    Dernier message: 02/05/2006, 19h11
  5. Plantage application avec défaillance du module Kernel32
    Par cosminutza dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2005, 16h15

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