procedure TForm1.FormCreate(Sender: TObject);type AddPtInRect = function (const Rect: TRect; const P: TPoint): Boolean; var b2:longint; a1:longint; mxc : AddPtInRect; begin mxc := GetProcAddress(LoadLibrary('user32.dll'), 'PtInRect'); if Assigned(mxc) then begin end; end;
procedure TForm1.FormCreate(Sender: TObject);type AddPtInRect = function (const Rect: TRect; const P: TPoint): Boolean; var b2:longint; a1:longint; mxc : AddPtInRect; begin mxc := GetProcAddress(LoadLibrary('user32.dll'), 'PtInRect'); if Assigned(mxc) then begin ... do something end; end;
var a1,b1:integer;
begin
a1:= $AD9023-6;
b1:= $AD9036;
CopyMemory(pointer(@b1),@a1,4);
......
另外
CopyMemory(pointer(@b1),@a1,4);
最好改为
CopyMemory(pointer(@b1),@a1,sizeof(b1));
b2:longint;
a1:longint;
mxc:Pointer;
mxc:=GetProcAddress(LoadLibrary('user32.dll'), 'PtInRect');
Incompatible types: 'Integer' and 'Pointer'
错误
AddPtInRect = function (const Rect: TRect; const P: TPoint): Boolean;
var
b2:longint;
a1:longint;
mxc : AddPtInRect;
begin
mxc := GetProcAddress(LoadLibrary('user32.dll'), 'PtInRect');
if Assigned(mxc) then begin
end;
end;
AddPtInRect = function (const Rect: TRect; const P: TPoint): Boolean;
var
b2:longint;
a1:longint;
mxc : AddPtInRect;
begin
mxc := GetProcAddress(LoadLibrary('user32.dll'), 'PtInRect');
if Assigned(mxc) then begin
... do something
end;
end;
应该是
@mxc:=GetProcAddress(LoadLibrary('user32.dll'), 'PtInRect');