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

API, COM et SDKs Delphi Discussion :

Fichiers compilés inutilisables.


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut Fichiers compilés inutilisables.
    Bonjour,

    En changeant de PC, je constate que les codes compilés sous Windows XP SP2 par un AMD Turion ne fonctionnent pas sous XP SP3 / Intel Core2 Quad!

    Que dois-je faire si je ne veux pas réinstaller tout Delphi 2007 sur la nouvelle bécane?

    Les messages d'erreurs que j'obtiens sur celle-ci sont soit le classique "XXXXX a dû stopper suite à une erreur." avec invitation à communiquer le code à Microsoft, ou encore le message "EAccessViolation in module ntdll.dll"

    Help!

    Henri

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Data Execution Prevention est-il actif sur la marchine ou ca plante ? Il est possible que tu aies des composants qui ne tolèrent pas cette restriction (parmi une autre immense liste de possibilités... qui inclue du code avec des bugs ;-))
    "It's more fun to compute !"

  3. #3
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Le DEP est actif exclusivement pour les fichiers Windows. J'ai aussi essayé l'option "DEP actif pour tout sauf pour les fichiers concernés" mais cela ne change absolument rien.
    Ce sont les deux seules options que j'ai: existe-t"il une façon de débrancher carrément ce DEP?

    Merci de m'avoir répondu aussi vite...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Quelques questions :

    -Est-ce commun a toutes les applications compilées avec Delphi ?
    -Quelle genre d'appli est-ce ?
    -Utilises tu des librairies ou des composants tiers ?
    -Des appels systèmes ambitieux ? Tu joues explicitement avec la mémoire ?
    -Où l'exception est-elle levée ? Peux tu poster le code qui doit correspondre à l'évènement qui peut générer l'exception ?
    -As tu une webcam Logitech (non, ceci est une vraie question !)
    "It's more fun to compute !"

  5. #5
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par Reisubar Voir le message
    Quelques questions :

    -Est-ce commun a toutes les applications compilées avec Delphi ?
    Apparemment oui.

    Citation Envoyé par Reisubar Voir le message
    -Quelle genre d'appli est-ce ?
    Base de donnée sous Paradox, toute bête.

    Citation Envoyé par Reisubar Voir le message
    -Utilises tu des librairies ou des composants tiers ?
    Non.

    Citation Envoyé par Reisubar Voir le message
    -Des appels systèmes ambitieux ? Tu joues explicitement avec la mémoire ?
    Pas du tout: utilisation basique de Delphi 2007, même pas .Net...
    Citation Envoyé par Reisubar Voir le message
    -Où l'exception est-elle levée ?
    Immédiatement au lancement du fichier exe.

    Citation Envoyé par Reisubar Voir le message
    Peux tu poster le code qui doit correspondre à l'évènement qui peut générer l'exception ?
    Non, puisque rien ne commence avant l'exception. A moins que je comprenne mal ta question? Je ne suis pas un pro de Windows..
    Citation Envoyé par Reisubar Voir le message
    -As tu une webcam Logitech (non, ceci est une vraie question !)
    Non, ni webcam ni aucun autre hardware inhabituel: je viens d'acheter la bécane et elle est encore "toute nue"
    [/quote]

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Ca devient hard à débugger

    Je n'utilise pas Paradox, peut être que son exploitation nécessite des runtimes qui ne sont pas installés ou dans la bonne version côté client ?

    Théoriquement, les exceptions au démarrage peuvent être causés par des erreurs dans les clauses initialization des unités. En utilises-tu ?

    Une bonne piste pour débugger : utiliser MadExcept :
    1. Télécharger à partir de : http://www.madshi.net/madExceptDescription.htm
    2. Installes et active le pour ton application (Dans le menu Projet tu as un item de menu qui est apparu normalement, et tu dois cocher "Enable MadExcept")
    3. Tu devrais à l'exception pouvoir récupérer la pile d'appels, i.e l'enchaînement de fonctions qui amène à l'exception. Postes là ici.

    Good luck !
    "It's more fun to compute !"

  7. #7
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par Reisubar Voir le message
    Ca devient hard à débugger

    Je n'utilise pas Paradox, peut être que son exploitation nécessite des runtimes qui ne sont pas installés ou dans la bonne version côté client ?

    Théoriquement, les exceptions au démarrage peuvent être causés par des erreurs dans les clauses initialization des unités. En utilises-tu ?

    Une bonne piste pour débugger : utiliser MadExcept :
    1. Télécharger à partir de : http://www.madshi.net/madExceptDescription.htm
    2. Installes et active le pour ton application (Dans le menu Projet tu as un item de menu qui est apparu normalement, et tu dois cocher "Enable MadExcept")
    3. Tu devrais à l'exception pouvoir récupérer la pile d'appels, i.e l'enchaînement de fonctions qui amène à l'exception. Postes là ici.

    Good luck !
    Je le fais de suite et je poste dés que possible. Encore merci!

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour,

    Est-ce que tes applications ne sont pas tout bêtement compilées avec les paquets d'exécution et que Delphi n'est pas installé sur cette nouvelle machine ?

    Dans ce cas il suffit d'installer les paquets d'exécution.


    devYan.

  9. #9
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par devyan Voir le message
    Bonjour,

    Est-ce que tes applications ne sont pas tout bêtement compilées avec les paquets d'exécution et que Delphi n'est pas installé sur cette nouvelle machine ?

    Dans ce cas il suffit d'installer les paquets d'exécution.
    Excuse un débutant: comment installe-t'on ces paquets d'exécution? Je n'avait pas ce souci sous D3 (oui, je sais cela date! )
    Si tu parles du BDE, il est bien installé.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Non il ne s'agit pas du BDE.

    Lorsque tu installes Delphi, il place certains fichier dans les répertoires Windows.
    Ces fichiers sont les paquets d'exécution.

    Il me semble qu'il est possible de n'installer que les paquets d'exécution à partir du CD. Sinon, il faut copier ces fichiers à la main...

    Par contre il me semble me souvenir que pour compiler un programme avec les paquets d'exécution (l'exe résultant est beaucoup plus petit) il faut le choisir explicitement dans les options de compilation.


    devYan.

  11. #11
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Voici la situation actuelle: j'ai réinstallé CodeGear sur le nouveau PC, pensant que peut-être le compilateur me donnerait un code EXE compatible avec la machine (??). Il fonctionne, à ceci près qu'il recommence à m'enquiquiner sur le fait que telle ou telle unité serait compilée avec une version antérieure de telle ou telle autre. Et si je cherche à recompiler TOUTES les unités, il s'en trouve toujours une ou l'autre dont je ne dispose pas de la source (TeCanvas par exemple: inconnue au bataillon!).

    Et lorsque j'installe MadExcept, le même compilateur me réclame MadExcept.pas dont je ne dispose évidemment pas..

    Soit dit en passant, je n'ai jamais compilé une unité à la fois: est-ce possible de le faire sans qu'elle soit intégrée dans un projet?

    Help!

  12. #12
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonjour,

    hmm, ça sent quand même la compilation avec les paquets d'execution ça. As tu bien vérifié que ce n'est pas coché dans les options de ton projet ?

    @++
    Dany

  13. #13
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par skywaukers Voir le message
    Bonjour,

    hmm, ça sent quand même la compilation avec les paquets d'execution ça. As tu bien vérifié que ce n'est pas coché dans les options de ton projet ?

    @++
    Dany
    Tu sais quoi? On va faire comme si j'étais totalement béotien (ce que pour Delphi 2007 je suis quand-même vu qu'avant je surfais sur D3! ): Je vais dans le menu Projet/Options et je trouve la mignonne petite fenêtre en attaché.

    Y a-t'il une autre option à ne pas sélectionner?

    Merci de me répondre le jour de ma fête nationale!

    Henri

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Tu sais quoi? On va faire comme si j'étais totalement béotien (ce que pour Delphi 2007 je suis quand-même vu qu'avant je surfais sur D3! ): Je vais dans le menu Projet/Options et je trouve la mignonne petite fenêtre en attaché.

    Y a-t'il une autre option à ne pas sélectionner?

    Merci de me répondre le jour de ma fête nationale!

    Henri
    Regarde plutôt dans "Packages" Si c'est comme pour D6 c'est là qu'l y a une case à cocher...

    Yan.


    devYan.

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 044
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    si les programmes ont été compilés en D3 (voir image jointe) alors il faut que dans le répertoire du programme ou dans System32 il y ait les fichiers *30. DPL et *30.FR correspondant à ces unités. (i.e. VCL30.DPL,VCL30.FR)

    Installer BDS2007 ne corrige pas ce problème puisque ce ne sont pas des DPL mais des BPL (et pas vec les même numéros ) qu'il installe
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  16. #16
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par devyan Voir le message
    Regarde plutôt dans "Packages" Si c'est comme pour D6 c'est là qu'l y a une case à cocher...

    Yan.
    Voici tout ce que je trouve comme "package". Je clique où?

    Y a pas: sous Turbo-Pascal sous Dos c'était vachement moins compliqué!

  17. #17
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut Ca marche!
    Merci à SergioMaster, Devyan, Skywaukers & autres Reisubar: grâce à vous mon application fonctionne aussi bien en mode débogage qu'en EXE.

    Après coup, et pour que je ne meure pas idiot, je ne comprends pas bien comment un code source réalisé en Pascal ne puisse pas être compilé sans ces fameux fichier *30.* alors que la source ne fait aucune allusion à la version du compilateur.

    Le premier Sage qui peut m'expliquerse verra offrir un bac (virtuel) de bières Belges.

  18. #18
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut Ca marche.. presque!
    Ouille! J'ai parlé trop vite: certes mon application principale fonctionne, mais une autres, secondaire, refuse de fonctionner comme le montre le fichier joint.

    Si j'essaie de compiler toutes les unités, en incluant celles utilisées en amont, plus rien ne va plus.

    Une idée?

    HM

  19. #19
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 044
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    DPL=DLL ça c'est de la petite bière

    où il est ce fichier joint ? trop d'abus de celle cité plus haut ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  20. #20
    Membre habitué Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Points : 165
    Points
    165
    Par défaut
    Oups! Voici le fichier en question...

Discussions similaires

  1. Probleme d'execution du fichier compilé
    Par Killua69 dans le forum Dev-C++
    Réponses: 3
    Dernier message: 27/07/2006, 23h15
  2. Réponses: 2
    Dernier message: 17/10/2005, 18h55
  3. Exectution de mon fichier compilé impossible
    Par niCo.nb dans le forum C
    Réponses: 9
    Dernier message: 09/10/2005, 17h50
  4. Réponses: 3
    Dernier message: 02/10/2005, 12h30
  5. [Devcpp] fichier compilé plutôt gros
    Par YéTeeh dans le forum Dev-C++
    Réponses: 2
    Dernier message: 17/05/2005, 19h38

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