-
Problème avec JVCL ?
Bonjour,
J'ai téléchargé et installé le JVCL.
Or le programme résultant, qui utilise quelques composants JVCL, fonctionne bien sur mon ordinateur de développement, mais pas sur les autres ordinateurs. Un message d'erreur apparait à l'ouverture du programme. Je n'ai pas le message exact, car il est enrobé par le message windows : "le programme a rencontré un problème et doit se fermer" (ou quelque chose dans ce genre).
Je voudrais savoir si l'installation d'un programme compilé avec des composants JVCL doit s'accompagner d'une installation complémentaire.
D'autres programmes compilés sans ces composants ne posent pas de problème.
Merci d'avance et bonne année à ceux qui me liront !
-
Salut
As-tu compilé ton application avec les paquets d'exécution qui inclueraient ceux de la JVCL ?
Ce qui expliquerait l'échec lors du démarrage.
@+ Claudius
-
Bonjour, Claudius
Merci pour ta réponse.
Dois-je comprendre qu'il faut compiler mon application avec les paquets d'exécution, ou qu'il ne faut pas le faire ?
A mon avis il faut....
Puis-je abuser de ta gentillesse en te demandant comment faire pour inclure ou non ces paquets ?
-
Bonjour, il y a de grande chance que le probleme vienne du fait que ton prog est lancé sur un PC avec un proc de PIV avec du HyperThreading...
Va voir ce post là:
http://delphi.developpez.com/faq/?pa...timeerror216p4
-
Re,
Dans les options de ton projet (Shift-Ctrl-F11) sous l'onglet Paquets, il faut examiner l'option (boite à cocher) Construire avec les paquets d'exécution.
Si celle-ci est cochée tu devras fournir avec ton exécutable les paquets qu'il utilise.
Dans le cas contraire ces paquets seront inclus dans l'exécutable qui devient de ce fait 'autonome'.
Le plus simple est donc de décocher cette option.
[edit]
@MedGIR: Jean-Marc n'a pas parler d'erreur Runtime 216 ! Erreur qui se produit en général à la fermeture plutôt qu'au démarrage d'une appli.
@+
-
Merci pour ta réponse, Claudius.
La case n'était pas cochée, donc mon programme était 'autonome'.
Je précise à l'attention de MedGir que le problème se pose jusqu'à maintenant sur tous les ordinateurs sur lesquels je l'ai testé, à l'exception de celui où le programme a été compilé.
Il ne s'agit pas uniquement d'ordinateurs récents, avec "avec un proc de PIV avec du HyperThreading" (je ne comprends pas grand chose à ce que ça veut dire : à force d'employer des abréviations, on devient très peu clair pour les non initiés !)
C'est la raison pour laquelle j'avais pensé à un manque dans l'installation du programme.
-
Si il s'agit bien d'un problème de déploiement, tu peux, sur ton poste de dev, examiner les modules qui sont chargés par ton appli.
Lance ton appli via l'IDE (en mode debug donc) et affiche ces modules. (Ctrl-Alt-M).
@+
-
Très bien j'affiche ces module ! Je ne sais pas ce que je dois tirer de cette liste...
Les modules chargés sont de 3 ordres (en plus de mon programme) :
- de nombreuses DLL contenues dans le répertoire c:\windows\system32
- des DLL du BDE (ok, j' inclus bien le BDE dans mon installation)
- la DLL ntdll.dll (dont le chemin d'accès n'est pas mentionné)
Je suppose que les DLL de windows sont présentes sur les postes cibles.
-
Salut
ntdll.dll est présente dans system32.
Je suppose que c'est un problème de déploiement du BDE. Si tu utilises des alias, sont-ils définis à l'installation ?
Il y a peut-être d'autres détails à vérifier pour le BDE, mais comme je ne l'utilises plus...
@+
-
Excuse-moi de ne pas avoir été assez clair.
Ces abreviations sont pourtant connues de tout informaticiens.
PIV => Pentium IV => Pentium 4
Prog => Programme
Proc => Processeur
HyperThreading c'est HyperThreading... http://fr.wikipedia.org/wiki/Hyper-Threading
J'aurais essayé de t'aider
-
Non ce n'est pas un problème de BDE. J'utilise la meme procédure d'installation que pour un autre programme utilisant lui aussi le BDE, et qui fonctionne très bien.
J'ai pensé à JVCL car c'est la différence entre le programme qui marche et celui qui ne marche pas...
-
J'ai fini par trouver la raison de mon message d'erreur, et bonne nouvelle, c'était une erreur de programme. JVCL n'est pas en cause !