VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/08/21(Sat) 16:25
投稿者まー
URL
タイトルRe: ActiveXからDLLの呼出しについて

自己レスです。
ついに解決しました!!
以下のように宣言を変更することでうまくいきました。

VB側宣言
Private Declare Function TestFunc Lib "TestLib" Alias "_TestFunc@16" (ByV
al param1 As String, ByVal param1 As Long, ByVal param1 As String, ByVal param1 As String) As
Long

VC側宣言
extern "C" __declspec(dllexport) long __stdcall  TestFunc(char *param1, long param2
,char *param3,char *param4)

MSDNに__stdcallの使用方法がのっていたのですが、@以降の設定方法が
意味不明でした。
引数のバイト数を総計すればよかったんですね。
しかし、通常EXEではAliasは必要なくてActiveXでは必要になるのは
なぜなんでしょうね。(わかりにくいな〜)


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -