OVH Cloud OVH Cloud

Employer un composant COM+ à base d'une DLL.??

5 réponses
Avatar
Stephane Wirtel
Bonjour,

Suite à un léger soucis d'interface d'un composant COM qui change assez souvent,
j'aimerais avoir la possibilité d'utiliser ce composant sans devoir
à chaque fois recompiler mon application.

Pensez-vous qu'il soit possible d'attaquer cette DLL via un LoadLibrary ou tout autre méthode ?
Auriez-vous une documentation sur le sujet ?

Merci,


Stéphane

5 réponses

Avatar
Vincent Burel
"Stephane Wirtel" wrote in message
news:d8pbju$poi$
Bonjour,

Suite à un léger soucis d'interface d'un composant COM qui change assez


souvent,
j'aimerais avoir la possibilité d'utiliser ce composant sans devoir
à chaque fois recompiler mon application.



on vous a déjà répondu me semble-t-il ! les composants COM sont usuellement
dans un DLL tiers et justement peuvent évoluer sans pour autant que
l'application qui les utilise soit recompilée.

Pensez-vous qu'il soit possible d'attaquer cette DLL via un LoadLibrary ou


tout autre méthode ?

ha ben normallement pas LoadLibrary , un composant COM se met en oeuvre par
utilisation des fonction OLE.
CoCreateInstance est une fonction qui permet d'instancié tout objet COM
présent sur le systeme... dont vous connaissez le CLSID...

VB
Avatar
Bernie
>>Pensez-vous qu'il soit possible d'attaquer cette DLL via un LoadLibrary ou
tout autre méthode ?



ha ben normallement pas LoadLibrary , un composant COM se met en oeuvre par
utilisation des fonction OLE.
CoCreateInstance est une fonction qui permet d'instancié tout objet COM
présent sur le systeme... dont vous connaissez le CLSID...

VB




Ca peut ce faire, mais ca depend des cas et de votre objet COM.
Si il s'agit d'un objet qui est juste la pour encapsuler des traitement,
il suffit de sortir (de l'objet) vos routines de traitement pour pouvoir
les déclarer comme exportable.

En bref, votre dll contient un objet com ok, mais vous pouvez y mettre
d'autres choses, comme de routines exportable et meme un main qui peut
servir pour lancement de process indépendant. C'est un four-tout ...
Avatar
Vincent Burel
"Bernie" wrote in message
news:d95pku$p6s$
>>Pensez-vous qu'il soit possible d'attaquer cette DLL via un LoadLibrary


ou
>>tout autre méthode ?
>
> ha ben normallement pas LoadLibrary , un composant COM se met en oeuvre


par
> utilisation des fonction OLE.
> CoCreateInstance est une fonction qui permet d'instancié tout objet COM
> présent sur le systeme... dont vous connaissez le CLSID...
>
> VB
>

Ca peut ce faire, mais ca depend des cas et de votre objet COM.



non, c'est l'usage courant.

En bref, votre dll contient un objet com ok, mais vous pouvez y mettre
d'autres choses, comme de routines exportable et meme un main qui peut
servir pour lancement de process indépendant. C'est un four-tout ...



ha ouai, bof, je n'ai jamais vu de DLL COM contenir autres chose qu'un
modèle COM...

VB
Avatar
Thierry
Bonjour,

Vincent Burel a écrit :

En bref, votre dll contient un objet com ok, mais vous pouvez y
mettre d'autres choses, comme de routines exportable et meme un main
qui peut servir pour lancement de process indépendant. C'est un
four-tout ...



ha ouai, bof, je n'ai jamais vu de DLL COM contenir autres chose qu'un
modèle COM...



inetcfg.dll, entre autres...

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Avatar
Vincent Burel
"Thierry" wrote in message
news:
Bonjour,

Vincent Burel a écrit :

>> En bref, votre dll contient un objet com ok, mais vous pouvez y
>> mettre d'autres choses, comme de routines exportable et meme un main
>> qui peut servir pour lancement de process indépendant. C'est un
>> four-tout ...
>
> ha ouai, bof, je n'ai jamais vu de DLL COM contenir autres chose qu'un
> modèle COM...

inetcfg.dll, entre autres...



ha oui ! c'est une dll un peu particulière... je ne sais pas si elle a
valeur d'exemple :-)

Si oui, alors je me permet de ne pas trouver cela très cohérent. A la
différence d'un modèle classique, (un jeu de fonctions classique), le modèle
COM définit un certain nombre de contraintes (notamment sur les interfaces)
qui garantissent la compatibilité binaire dans le temps... tout en
permettant l'évolution...

En théorie tout au moins, car bien entendu, le programmeur peut faire ce
qu'il veut... et d'ailleurs n'a pas besoin du modèle COM pour faire une DLL
qui conserve sa compatibilité binaire...

VB