OVH Cloud OVH Cloud

Composant COM : Utilisation via une DLL ?

5 réponses
Avatar
Stephane Wirtel
Bonjour à tous,

Utilisant un composant COM+ créé par une société qui doit le mettre à jour chaque mois,
je ne peux me permettre de recompiler mon application à chaque sortie de la nouvelle version du fameux composant COM.
Le problème se pose au niveau de l'identifiant du composant qui si je l'ai compris change assez régulièrement.

Auriez-vous des indices, documents ou exemples de code C++, qui pourrait me guider sur l'utilisation de ce composant
via la DLL qui lui est associé sans être dépendant de ce fameux identifiant unique ?

Merci,

Stéphane

5 réponses

Avatar
Vincent Burel
"Stephane Wirtel" wrote in message
news:d6k4ja$hso$
Bonjour à tous,

Utilisant un composant COM+ créé par une société qui doit le mettre à jour


chaque mois,
je ne peux me permettre de recompiler mon application à chaque sortie de


la nouvelle version du fameux composant COM.
Le problème se pose au niveau de l'identifiant du composant qui si je l'ai


compris change assez régulièrement.

Auriez-vous des indices, documents ou exemples de code C++, qui pourrait


me guider sur l'utilisation de ce composant
via la DLL qui lui est associé sans être dépendant de ce fameux


identifiant unique ?

la dépendance à cette identifiant (et aux interfaces associées) permet
justement de pouvoir utiliser le même objet indépendamment de sa version.
Sans recompiler le programme host.

Si votre programme utilise un objet COM, non seulement sont GUID ne doit pas
changer, ses interface non plus (sauf si ajout de méthode - ce qui ne se
fait normallement pas - générallement sous forme d'ajout d'une interface).

VB
Avatar
Stephane Wirtel
> la dépendance à cette identifiant (et aux interfaces associées) permet
justement de pouvoir utiliser le même objet indépendamment de sa version.
Sans recompiler le programme host.

Si votre programme utilise un objet COM, non seulement sont GUID ne doit pas
changer, ses interface non plus (sauf si ajout de méthode - ce qui ne se
fait normallement pas - générallement sous forme d'ajout d'une interface).


De quelle manière est créé cet identifiant ?

Donc, normalement, si il mette à jour leur composant, théoriquement, je ne devrais pas recompiler
mon application afin de prendre en considération la nouvelle version du composant COM+.

Ai-je bien compris ?

Auriez-vous de la documentation sur ce sujet ?

Merci
Avatar
Vincent Burel
"Stephane Wirtel" wrote in message
news:d6k696$ih5$
> la dépendance à cette identifiant (et aux interfaces associées) permet
> justement de pouvoir utiliser le même objet indépendamment de sa


version.
> Sans recompiler le programme host.
>
> Si votre programme utilise un objet COM, non seulement sont GUID ne doit


pas
> changer, ses interface non plus (sauf si ajout de méthode - ce qui ne se
> fait normallement pas - générallement sous forme d'ajout d'une


interface).
De quelle manière est créé cet identifiant ?

Donc, normalement, si il mette à jour leur composant, théoriquement, je ne


devrais pas recompiler
mon application afin de prendre en considération la nouvelle version du


composant COM+.

oui, le but de COM est de fournir des interfaces uniques et standardisées.
Une fois que l'implémentation Host <-> Object COM est définie, l'objet COM
peut évoluer indépendamment du HOST.

Evidemment si la société qui fait l'objet COM, change les interface (par
exemple l'ordre des méthode dans une interface), les UID , les propriétés
des fonctions de manière à obliger la recompilation du HOST, c'est une autre
problème et je dirais qu'ici y'a une mauvaise compréhension concept objet
COM et une mauvaise utilisation.

VB
Avatar
Thierry
Bonjour,

Stephane Wirtel a écrit :

Donc, normalement, si il mette à jour leur composant, théoriquement,
je ne devrais pas recompiler mon application afin de prendre en
considération la nouvelle version du composant COM+.



C'est justement l'interet. Et c'est aussi valable avec les DLL.
En cas de MAJ du composant les interfaces ne changeront pas donc pas de pb.


--
« 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
Valerio TRIPICCHIO
Bonjour,

Si tu as des contacts avec la société qui te fournis le composant,
demande-leur qu'ils compilent l'objet en cochant la case "Garder la
compatibilité binaire".

Bien à toi.

Val.

"Stephane Wirtel" wrote in message
news:d6k4ja$hso$
Bonjour à tous,

Utilisant un composant COM+ créé par une société qui doit le mettre à jour
chaque mois,
je ne peux me permettre de recompiler mon application à chaque sortie de
la nouvelle version du fameux composant COM.
Le problème se pose au niveau de l'identifiant du composant qui si je l'ai
compris change assez régulièrement.

Auriez-vous des indices, documents ou exemples de code C++, qui pourrait
me guider sur l'utilisation de ce composant
via la DLL qui lui est associé sans être dépendant de ce fameux
identifiant unique ?

Merci,

Stéphane