vc的dll中的定义转换有关问题
vc的dll中的定义转换问题
vc中的定义如下
typedef UINT(AFX_CDECL * CALLBACK_PROC)(LPVOID);
……
typedef int(WINAPI *MYFUNC15)(int,CALLBACK_PROC,LPVOID);
……
MYFUNC15 MV_SetPreviewCallback;
我现在就不知道怎么翻译这个MV_SetPreviewCallback;
请教大家,谢谢先!
人家公司给的例子如下:
type
TCallBackFun = function(pParm:PByte):DWORD;
function MV_SetPreviewCallback(CurrentNumber:integer; pFun:TCallBackFun; pParam:PByte):integer; stdcall; external DllName;
应该是有问题,否则我运行怎么不好用呢?
调用的时候代码如下:
function PreviewCallBack(param:PByte):DWORD;
begin
Result:=0;
ShowMessage( 'aaaa '); //这行是我加的,想看看这个回调函数能不能运行
end;
设置的时候的代码如下:
MV_SetPreviewCallback(0, PreviewCallBack, nil);
不知道哪里出了问题,就是没有提示框出现,也就是说回调函数没有运行。
------解决方案--------------------
MV_SetPreviewCallback(0, @PreviewCallBack, nil);
------解决方案--------------------
function MV_SetPreviewCallback(CurrentNumber:integer; pFun:TCallBackFun; pParam:PByte):integer; cdecl; external DllName;
这样试下
vc中的定义如下
typedef UINT(AFX_CDECL * CALLBACK_PROC)(LPVOID);
……
typedef int(WINAPI *MYFUNC15)(int,CALLBACK_PROC,LPVOID);
……
MYFUNC15 MV_SetPreviewCallback;
我现在就不知道怎么翻译这个MV_SetPreviewCallback;
请教大家,谢谢先!
人家公司给的例子如下:
type
TCallBackFun = function(pParm:PByte):DWORD;
function MV_SetPreviewCallback(CurrentNumber:integer; pFun:TCallBackFun; pParam:PByte):integer; stdcall; external DllName;
应该是有问题,否则我运行怎么不好用呢?
调用的时候代码如下:
function PreviewCallBack(param:PByte):DWORD;
begin
Result:=0;
ShowMessage( 'aaaa '); //这行是我加的,想看看这个回调函数能不能运行
end;
设置的时候的代码如下:
MV_SetPreviewCallback(0, PreviewCallBack, nil);
不知道哪里出了问题,就是没有提示框出现,也就是说回调函数没有运行。
------解决方案--------------------
MV_SetPreviewCallback(0, @PreviewCallBack, nil);
------解决方案--------------------
function MV_SetPreviewCallback(CurrentNumber:integer; pFun:TCallBackFun; pParam:PByte):integer; cdecl; external DllName;
这样试下