Declaration conditionelle d'une Dll

[Résolu]
Signaler
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
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++
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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 .
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Statut
Membre
Dernière intervention
18 octobre 2008
7
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é) ;-)
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
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++
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
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 ??
Messages postés
406
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
4 septembre 2013
1
Bon, je vous remercie beaucoup de votre aide.
Je verifierais ça demain a la premiere heure

Passez une tres bonne nuit