charger decharger dll - VB/VBA/VBS - Programmation
Marsh Posté le 06-04-2004 à 16:47:51
possible uniquement avec les API, mais là ça dépasse mes compétences
A partir de la fonction LoadLibrary disponible dans les API Win32, tu as un début de réponse. (les recherches google "vb6+fonctionwin32recherchée" sont toujours très fructueuses)
Marsh Posté le 06-04-2004 à 17:31:22
ouaip merki bcp
loadlibrary le fait bien mais bon finallement ça complique un peu trop l'appel aux fonctions de la dll par la suite je crois pas que je vais m'engager ds cette voie ;-)
Marsh Posté le 06-04-2004 à 17:35:41
si c'est juste pour appeler des fonctions d'une DLL accessible normalement (répertoire de l'application ou répertoire système), les Declare suffisent amplement
Marsh Posté le 06-04-2004 à 17:36:34
Pour charger une DLL avec Win32 :
- récupérer le handle de la dll avec GetModuleHandle()
- tester le handle : si == 0, alors la dll n'est pas chargée, sinon c'est OK
- si elle n'est pas chargée, alors appeler LoadLibrary() pour la charger
Pour la décharger :
- utiliser GetModuleHandle() comme précédemment
- tester le handle comme précédemment
- si la dll est chargée, utiliser FreeLibrary() pour la décharger
Marsh Posté le 06-04-2004 à 17:43:09
j'explique mon pb ....
j'utilise une dll qui me permet de "discuter" avec un appareil via ethernet.. sauf que cette dll a l'air mal programmée et des que la liasion ethernet est perdue il faut que je redemarre mon programme (meme leur prg d'exemple a ce symptome) mon idée etait donc de decharger la dll et de la recharger ensuite pour palier a ce pb..!
si j'utilise loadlibray et free... le pb c'est que pour appler les fonction de la dll je doit faire des callwindowsproc etc non? je ne peu pas declarer comme sui:
variable As dll.dlldriver
et ensuite variable.send ou variable.configure etc...
Marsh Posté le 06-04-2004 à 17:53:42
got a écrit : |
euh, connais tu VB ? non parce que la déclaration de dll externe, c'est pas comme ça du tout hein !
t'as juste qu'a rajouter ces lignes au début de ton source :
Code :
|
et ça s'arrête là
Marsh Posté le 06-04-2004 à 22:09:27
bah euuh je dois pas connaitre VB alors...! :-p
ce que tu me cite là es tpas la declaration d'API ? c different d'une dll pour moi?!
mais bon c vrai que je amitrise aps des masses le sujet ..!
Marsh Posté le 06-04-2004 à 22:11:49
bin les Declare, c'est pour référencer directement les API et les utiliser comme des fonctions VB (enfin presque, à cause du type Any et autre exoticités ), puis effectivement, t'as la méthode du LoadLibrary qui a l'air de mieux convenir à ton cas, mais là c'est plus lourd à gérer/coder/s'y retrouver.
Marsh Posté le 06-04-2004 à 16:33:55
COmment charger et decharger dynamiquement une dll en VB ?! si c possible