1
我想公開一個ATL COM集合的CMainClass對象 ,以便它可以被C#,VB或C++客戶端訪問。ATL非重要對象的集合
我沒有問題,建立集合本身,但我不 知道如何讓COM客戶端訪問類A,B和C. 我應該讓A,B,&Ç COM對象包含一個 std :: list <>每個ATL集合在它們自己的權利?
有沒有更簡單的方法來做到這一點?!?!
感謝, PaulH
class C
{
public:
// get/set functions...
protected:
std::string str1_;
std::list<std::string> list1_;
};
class A
{
public:
// get/set functions...
protected:
std::list<C> list1_;
};
class B
{
public:
// get/set functions...
protected:
std::string str1_;
std::string str2_;
};
class CMainClass
{
public:
void GetA(A* a) const;
void SetA(const A& a);
void GetB(B* b) const;
void SetB(const B& b);
protected:
A a_;
B b_;
};
所以,除非我誤解了這些例子,它看起來像答案是「是」,每個類都需要是COM對象,而具有std :: list <>的成員需要是COM集合。 – PaulH 2009-02-24 19:55:17