Declaration conditionelle d'une Dll

Résolu
cs_andrebernard Messages postés 406 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 - 11 juin 2007 à 18:25
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 12 juin 2007 à 09:28
Bonjour à tous

Est il possible de declarer une DLL sous conditions.


Par exemple declarer une DLL seulement si elle existe pour eviter le message d'erreur :


"Erreur d'execution code 53 : Fichier introuvable "

Ou bien est on obligé de gerer l'erreur

Merci
Bonne journée

8 réponses

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
11 juin 2007 à 22:11
Bizzare...
Invalide tous les appels de fonction de DLL et laisse la déclaration, tu verras si la déclaration provoque qlq chose.

ciao...
BruNews, MVP VC++
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
11 juin 2007 à 22:25
Bonjour,
Je confirme ce que dit là Brunews :
La seule déclaration ne provoque aucune erreur, y compris si la librairie elle-même (pas uniquement la fonction) n'existe pas .
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
11 juin 2007 à 22:32
Je confirme moi aussi, l'erreur sera générée uniquement lors de l'appel d'une fonction de la dll, pas avant. Même pas lors de la compilation.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
12 juin 2007 à 09:28
tentes un LoadLibray/FreeLibrary, pour detecter par avance si la dll est detectée sur le systeme.

sur XP SP1 et >, tu peux utiliser SetDllDirectory pour spécifier a Windows l'endroit ou les dll de ton process se trouvent

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
11 juin 2007 à 20:44
Salut,

La compilation conditionnelle peut être une voie : http://www.vbfrance.com/tutoriaux/COMPILATION-CONDITIONNELLE-VB6_612.aspx
Reste qu'elle se limite à l'étape de compilation. Ce n'est donc pas dynamique.

Sinon, le plus simple est encore de gérer l'erreur (ce n'est pas bien compliqué) ;-)
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
11 juin 2007 à 21:39
L'erreur ne se produit que si on appelle la fonction, suffit donc d'un GetFileAttributes() sur la dll pour savoir si on peut appeler la foncction, ça évitera la gestion d'erreur.

ciao...
BruNews, MVP VC++
0
cs_andrebernard Messages postés 406 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 1
11 juin 2007 à 22:02
L'erreur se produit lorsque je declare la DLL dans un module.

Il ne me reste plus qu'a gerer l'erreur, puisque les declarations dans les modules sont bien la premiere chose qui est chargé, non ??
0
cs_andrebernard Messages postés 406 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 4 septembre 2013 1
11 juin 2007 à 22:36
Bon, je vous remercie beaucoup de votre aide.
Je verifierais ça demain a la premiere heure

Passez une tres bonne nuit
0