Fonctionne sous l'interface de développement, l'exécutable plante ? - VB/VBA/VBS - Programmation
Marsh Posté le 07-10-2005 à 12:33:08
peut etre un probleme de references dans l'appli ? est-ce qu'il trouve bien les librairies ?
Marsh Posté le 07-10-2005 à 13:22:04
C'est quoi l'erreur qu'il t'affiche ?
Marsh Posté le 07-10-2005 à 14:20:58
Il trouve bien les librairies, puisque sinon il afficherait un message d'erreur
Je corrige: j'ai voulu faire le test (sur ma machine) en retirant la librairie du répertoire. Et là, ça marche.
Si je tente sur une autre machine, avec la librairie, il n'arrive pas à se connecter.
Si je retire la librairie du répertoire, j'ai un message d'erreur (Erreur 53: libmysql.dll introuvable). Normal.
Mais attention: si je la mets dans le répertoire system32, il n'arrive pas à se connecter certes, mais il la trouve alors que je ne lui ai jamais dit qu'elle était là-bas.
Si je tente d'enregistre manuellement la librairie avec un regsvr32, il me répond qu'aucun point d'entrée n'a été trouvé.
Alors, des idées quelqu'un ?
Marsh Posté le 07-10-2005 à 14:41:58
daviso a écrit :
|
C'est le fonctionnement normal des DLL non activeX: Le programme cherche dans son répertoire et s'il ne trouve pas la DLL, il va la chercher dans system32.
Marsh Posté le 07-10-2005 à 14:50:06
mareek a écrit : C'est le fonctionnement normal des DLL non activeX: Le programme cherche dans son répertoire et s'il ne trouve pas la DLL, il va la chercher dans system32. |
D'accord, mais alors comment expliquer le fait qu'avec la dll dans son répertoire, il ne se connecte pas, et que si elle dans le system32 il se connecte?
Et sans planter lamentablement dans aucun des deux cas: simplement dans le premier connexion acceptée, dans le deuxième non.
Marsh Posté le 07-10-2005 à 14:52:34
daviso a écrit : D'accord, mais alors comment expliquer le fait qu'avec la dll dans son répertoire, il ne se connecte pas, et que si elle dans le system32 il se connecte? |
J'en sais rien, peut-être parce que la dll s'attend à se trouver dans system32 et qu'elle ne peut fonctionner autrement.
Marsh Posté le 07-10-2005 à 14:53:48
Question annexe, pourquoi la connexion se ferait à partir d'une machine, et pas de l'autre?
Marsh Posté le 07-10-2005 à 14:55:25
daviso a écrit : Question annexe, pourquoi la connexion se ferait à partir d'une machine, et pas de l'autre? |
parce qu'elles n'ont pas tout à fait le même environnement
D'après ce que tu décris, l'autre machine n'a pas la librairie dans System32 alors que la tienne si.
Marsh Posté le 07-10-2005 à 15:00:12
Oui, parce que EasyPHP est installé sur ma machine, et pas sur l'autre. La barbe...
Marsh Posté le 06-10-2005 à 15:21:51
C'est la première fois que je vois ça:
J'ai un logiciel en VB6 qui doit se connecter à une base de données mySQL. J'utilise donc l'API mySQL, je fais le développement, et tout finalement marche sous VB6. Je crée l'exécutable, je le lance, et là, à ma grande surprise, il refuse de se connecter à la base de données.
Sachant que:
Est-ce que quelqu'un voit une raison pour laquelle l'exécutable et le logiciel lancé à partir de l'interface de développement fonctionnent différemment? C'est probablement un truc débile, mais là j'avoue que je ne vois pas.