Bonjour,
Voila mon problème :
J'ai un objet DCOM appelé "Enveloppe". Il a une propriété "ComplexClass" qui est un autre objet DCOM. On peut accéder à cette propriété via 2 accesseurs :
J'arrive à utiliser le set comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 STDMETHOD(get_MyComplexClass(ComplexClass** Value)); STDMETHOD(set_MyComplexClass(ComplexClass* Value));
J'ai vérifié, ça marche nickel !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 TCOMIComplexClass CC = CoComplexClass::Create(); // ... mise a jour de varialbes a l'interieur de CC // On créé l'objet distant TCOMIEnveloppe serveur; serveur = CoEnveloppe::CreateRemote(L"10.167.20.154"); // on set la ComplexClass dans l'objet distant reponse = serveur.set_MyComplexClass((ComplexClass*)CC );
Mais je n'arrive pas utiliser le get.
J'essaie comme ca:
Mais ça ne marche pas. Je pense qu'il faut appeler le méthode "create" comme pour créer CC dans le code au-dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TCOMIComplexClass * CCptr = new TCOMIComplexClass; reponse = serveur.get_MyComplexClass( (ComplexClass**) CCptr );
Du coup j'ai essayé ça:
Là, il plante à la seconde ligne. Quand il essaie de prendre l'adresse de CC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TCOMIComplexClass * CCptr; CCptr = (TCOMIComplexClass *)&CC; reponse = serveur.get_MyComplexClass( (ComplexClass**) CCptr );
De même avec:
Quelqu'un a-t-il une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TCOMIComplexClass CC2 = CoComplexClass::Create(); reponse = serveur.get_MyComplexClass( (ComplexClass**) &CC2 );
Pourquoi il ne veut pas que je passe l'adresse de l'interface?
Comment résoudre le problème?
Merci d'avance pour toute vos réponses
Partager