COM Interface Encapsulation

jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 - 1 déc. 2003 à 19:30
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 - 4 déc. 2003 à 18:07
Bonjour,

Je développe un composant ActiveX en Visual C++.

Je voudrais déclarer une interface dans une autre et l'utiliser.
Je m'explique.

J'ai une interface A.

Je veux créer une interface B (une classe ATL) qui contienne comme champ (donnée) un pointeur "a" sur une interface A.
(A ** a).

Ainsi, dans le but de pouvoir utiliser mon objet dans le programme client utilisant l'ocx ainsi (en VB) :

Dim b As B
Set b = New B

b.a.methodeA()

Cependant, je n'arrive pas à instancier le pointeur de mon interface A dans Visual C++.
Je fais pourtant dans le constructeur de mon interface B :
*a = new A;

Que me conseillez vous de faire ?
Est-ce faisable d'après vous ?

Merci...
A voir également:

1 réponse

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
4 déc. 2003 à 18:07
bonjour,

je te conseille d'utiliser A* pour stocker un pointeur sur un A
class A{};

A * pa = 0;
pa = new A; // est correct

A ** ppa=0;
*ppa = new A;//est incorrect

A++
0
Rejoignez-nous