Vc定义的回调函数在vb中怎么用?

hacoolna 2003-11-03 08:14:09
vc定义一个函数
DWORD TA_SendImageAndPrint(HANDLE hPrinter,HANDLE hDib,PTA_CALLBACK pCallbackProc )

类型PTA_CALLBACK :Address of callback function

call function 这么定义的
void CallbackProc(HANDLE hPrinter,PTA_PRINTINGINFO pPrintingInfo,DWORD dwErrorInfo )
PTA_PRINTINGINFO 是个新类型。不用管它

请问这个回调函数这么在VB中实现?
我是这样做的,
Public Function CallbackProc(ByVal hPrinter As Long, ByRef pPrintingInfo As TA_PRINTINGINFO, ByVal dwErrorInfo As Long)

End Function

dim dwRet as long
dwRet = TTA_SendImageAndPrint(phPrinter, hdcDest, AddressOf CallbackProc)

请问这么写对吗?
...全文
46 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjn12 2003-11-05
  • 打赏
  • 举报
回复
帮你顶
hacoolna 2003-11-05
  • 打赏
  • 举报
回复
回调函数的函数体中是否应该有语句呢?
wingsoft 2003-11-05
  • 打赏
  • 举报
回复
建DLL工程,把你的函数写在CPP文件里,要输出的函数名写在DEF文件里编译后就可以用标准声名,使用这个函数了.

subzero 2003-11-04
  • 打赏
  • 举报
回复
这样写应该无问题
hacoolna 2003-11-04
  • 打赏
  • 举报
回复
可这是回调函数啊?为什么要封装在DLL中?

TA_SendImageAndPrint这个已经转换过了
hacoolna 2003-11-04
  • 打赏
  • 举报
回复
自己顶,
Naiteux 2003-11-03
  • 打赏
  • 举报
回复
stdcall是将vc的私有类型转换成Win32的标准类型(如Int、string等),这样在VB中也可以识别这些类型了。

如果要调用vc写的东西,最好是先用vc把程序封装成DLL,然后在vb中调用(像调用API函数一样)
hacoolna 2003-11-03
  • 打赏
  • 举报
回复
请看过的朋友帮忙顶一顶。顶者也有分
hacoolna 2003-11-03
  • 打赏
  • 举报
回复
请问stdcall是什么意思?

是说要用VC转换一下,得到函数地址吗?
wingsoft 2003-11-03
  • 打赏
  • 举报
回复
需要在VC中写成stdcall方式的DLL

7,771

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧