VB6 如何声明调用C++的dll 50

用C++生成的dll,dll的名称是DCMakeTif.dll,C++中的dll的原形是:voidTiffPicsHandle(constchar*pSrcFilePat... 用C++生成的dll,dll的名称是DCMakeTif.dll, C++中的dll的原形是:void TiffPicsHandle( const char *pSrcFilePath, const char *pDstFilePath, const int iDpi, FUNCPTR CBFunc )
其中,FUNCPTR CBFunc 是一个回调函数。
如何将其转换成VB6识别的函数声明形式,以及如何声明回调函数呢?

我是这样子转换的:
函数声明
Public Declare Function TiffPicsHandle Lib "DCMakeTif.dll" (ByVal ImageFiles As String, ByVal OutTiffFile As String, ByVal NewDPI As Integer, ByVal GetProgressFunct As Long)
回调函数
Public sub GetTiffOperateProg(byref Num as long )
ProgBar.value=100*Num/TotalPics
end sub
调用:
TiffPicsHandle ImageFiles ,OutTiffFile ,300,GetTiffOperateProg
结果报告错误,说dll调用约定错误。

要如何声明TiffPicsHandle 函数,如何写回调函数GetTiffOperateProg,才能成功调用这个DCMakeTif.dll呢?

赐教一个示例吧。
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
匿名用户
2017-10-05
展开全部
__declspec(dllexport)导出的函数名就是内部链接用的函数名。用__cdecl就会换一种方式,后面没有@什么什么了第二个问题
追问
基于这个现成的dll,如果更改vb6的声明调用代码,让能成功调用 呢?还是需要如何修改dll?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式