我怎么老调不成功
TFILE_OPEN_CALLBACK = procedure(filepath:PAnsichar) of object;stdcall;
class里面
procedure Open_Callback2(filepath:PAnsichar);stdcall;vc里面:
typedef void (CALLBACK* FILE_OPEN_CALLBACK)(LPCSTR pFilePath);请高手指点
TFILE_OPEN_CALLBACK = procedure(filepath:PAnsichar) of object;stdcall;
class里面
procedure Open_Callback2(filepath:PAnsichar);stdcall;vc里面:
typedef void (CALLBACK* FILE_OPEN_CALLBACK)(LPCSTR pFilePath);请高手指点
delphi调用dll(delphi)?
TCallbackInstance = array [1..18] of Byte;procedure MakeCallbackInstance(var Instance: TCallbackInstance; ObjectAddr: Pointer; FunctionAddr: Pointer);
const CallbackCode: TCallbackInstance =
($8B,$04,$24,$50,$B8,$00,$00,$00,$00,$89,$44,$24,$04,$E9,$00,$00,$00,$00);
{----------------------------}
{ MOV EAX, [ESP]; }
{ PUSH EAX; }
{ MOV EAX, ObjectAddr; }
{ MOV [ESP+4], EAX; }
{ JMP FunctionAddr; }
{----------------------------}
begin
Move(CallbackCode, Instance, SizeOf(TCallbackInstance));
PInteger(@Instance[6])^ := Integer(ObjectAddr);
PInteger(@Instance[15])^ := Integer(Integer(FunctionAddr) - Integer(@Instance) - 18);
end;1.在类中申明一个TCallbackInstance类型的变量A
2.调用MakeCallbackInstance函数来初始化变量A, MakeCallbackInstance(A, Self, 类名.回调函数名)
3.将变量A当成回调函数来作为回调初始化函数的参数
1.在类中申明一个TCallbackInstance类型的变量A
2.调用MakeCallbackInstance函数来初始化变量A, MakeCallbackInstance(A, Self, @类名.回调函数名);
3.将变量A当成回调函数来作为回调初始化函数的参数
我的QQ是117563781,也单核,1G内存下面没有问题