掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VCでVB ActiveX DLLと文字列を含む構造体をやり取りするには? (ID:61952)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB(6)のActiveX DLLをVC(6)で使用した所不具合が発生してしまいました。 やりたい事はVCからVB ActiveX DLL内の関数を呼び出し、 構造体に結果を受け取るという内容です。 ですが、以下のようにして結果を受け取ると VBから処理が戻ってきた、 *の部分でtTest.cにとんでもない値が入ってしまいます。 原因と対処方法が分かる方いましたらご教授下さい。 条件として、VB側の構造体は変える事が出来ないということです。 変更できるのはVC側のみです。 よろしくお願いします。 ---------VB側(class AtxTest)--------- Public Type Test a As Double b As String c As Double End Type Public Function TestApi( ByRef Buf As Test ) Buf.a = 1: Buf.b = "TEST": Buf.c = 2 End Function ---VC側---- #import でVB ActiveX DLLのタイプライブラリ情報読み込み、 Com関連初期化してインターフェース取得後以下のように上記関数呼び出し _CAtxTest *pAtxTest; ・ インターフェース取得等 ・ Test tTest; memset( &tTest, 0, sizeof(tTest) ); pAtxTest->TestApi( &tTest ); double dblC = tTest.c; // *問題の箇所 ・ ・ 略
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.