- - PR -
VB6.0のDLLからの戻り値の取得方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-11-29 14:49
VC++を最近始めた新米です。
諸先輩方のコードを見ながら、とあるツールを作成しています。 VB6.0で作成されたDLLのある関数をVC++6.0から呼び出す際、 aaaMethod(struct _Collection * * _arg1) で呼び出し、 VC側でCollection型として受け取るように、となっています。 Collection の中身は、 フィールドを持つクラス error が10件格納されています。 自分は以下のようにして呼び出しています。 _SampleClassPtr smp; hResult = smp.CreateInstance(__uuidof(SampleClass)); if (FAILED(hResult)) { return; } CComPtr<VBA::_Collection> pColObj; smp->aaaMethod((_Collection**)&pColObj); long lval = 0; lval = pColObj->Count(); 一応、pColObj->Count() で取得した lval の値は、格納されているクラス数と 同数の値(10)を返すので、VC側でCollection 型として受け取れているように 思えるのですが、この後、pColObj の中に格納されている error クラスを 取り出そうとしているのですが、どうやってもうまくいきません。 どなたか、解決方法を教えて頂けないでしょうか? よろしくお願い致します。 |
1