Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1623 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  charger decharger dll

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

charger decharger dll

n°693869
got
Posté le 06-04-2004 à 16:33:55  profilanswer
 

COmment charger et decharger dynamiquement une dll en VB ?! si c possible  :ange:

mood
Publicité
Posté le 06-04-2004 à 16:33:55  profilanswer
 

n°693893
drasche
Posté le 06-04-2004 à 16:47:51  profilanswer
 

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)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°693925
got
Posté le 06-04-2004 à 17:31:22  profilanswer
 

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 ;-)

n°693928
drasche
Posté le 06-04-2004 à 17:35:41  profilanswer
 

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 ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°693930
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-04-2004 à 17:36:34  profilanswer
 

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


---------------
J'ai un string dans l'array (Paris Hilton)
n°693935
got
Posté le 06-04-2004 à 17:43:09  profilanswer
 

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...
 

n°693950
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-04-2004 à 17:53:42  profilanswer
 

got a écrit :


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


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 :
  1. Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
  2. Public Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
  3. Public Declare Function GetModuleHandle Lib "kernel32" Alias
  4. "GetModuleHandleA" (ByVal lpModuleName As String) As Long


et ça s'arrête là


---------------
J'ai un string dans l'array (Paris Hilton)
n°694199
got
Posté le 06-04-2004 à 22:09:27  profilanswer
 

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 ..!

n°694203
drasche
Posté le 06-04-2004 à 22:11:49  profilanswer
 

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 [:joce]), 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.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  charger decharger dll

 

Sujets relatifs
[ORACLE] Comment charger un fichier texte dans une table ?[HTML/JS] charger la partie centrale d'un site (en tableau)
Comment charger un fichier en javascript ?Charger l'ip dans une page web
Probleme pour charger un fichier...charger un fichier ds un textarea
Programme : charger la valeur de l'adresse...[VB6]Créer une frame à part, et la charger dans la Form par la suite
[VB] Pb pour Charger un fichier > 32ko dans un String[ScripT IRC] Charger et décharger un fichier à telle Heure ?
Plus de sujets relatifs à : charger decharger dll


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR