OVH Cloud OVH Cloud

Getobject, dlls et tout le tralala ...

2 réponses
Avatar
sagaz
Bonjour,

Je d=E9veloppe une appli qui permet de choisir et d'ex=E9cuter=20
des dll qui servent de "plugins".=20
Pour permettre le maximum d'ind=E9pendance entre l'appli=20
principale et les dll (qui peuvent par exemple =EAtre=20
install=E9es plus tard sur le poste) j'aimerais que ces=20
derni=E8res soient appel=E9es gr=E2ce =E0 GetObject avec le chemin=20
de la dll en param=E8tre.

Or, les dll sont d=E9velopp=E9es en VB, et l'aide indique que=20
getObject ne peut =EAtre utilis=E9 pour appeler des dll=20
d=E9velopp=E9es en VB.

Questions:
1) Y a t il un "truc" (m=EAm tordu) pour contourner cette=20
limitation?
2) De fa=E7on g=E9n=E9rale, est il n=E9cessaire d'enregistrer les=20
dll avec regsvr32 pour les utiliser avec Getobject?
3) Avez vous une autre proposition d'architecture pour=20
pour d=E9coupler l'appli principale des dll appel=E9es ?

Toute exp=E9rience serait la bienvenue,

Merci d'avance.

Sagaz

2 réponses

Avatar
fredg
Salut!

Or, les dll sont développées en VB, et l'aide indique que
getObject ne peut être utilisé pour appeler des dll
développées en VB.



Questions:
1) Y a t il un "truc" (mêm tordu) pour contourner cette
limitation?


Une piste:
Tu peux le faire avec createobject (il faut instancier un nouvel objet).
Ce qui suit fonctionne (DXFDWGDll est develloppée en VB et la dll est
enregistrée)

Dim TTT As Object
Set TTT = CreateObject("DXFDWGDll.oApplication")
MsgBox TTT.LastFichier
Set TTT=nothing

Bon courage
Fred
Avatar
sagaz
Justement, je voudrais instancier à partir du chemin de la
dll sur le disque et non de sa signature dans la base de
registre. Il me semble que seul getObject permette de le
faire !?!

Et sans doute est-ce possible alors, même sans avoir
enregistré la dll (objet du 2 ème point de la question).

Sagaz