TPaxScripter.OnLoadDll event demo.


Delphi code:
procedure MyVirtualProc;
begin
  ShowMessage('MyVirtualProc has been called');
end;

function MyVirtualFunc: ShortString;
begin
  result := 'MyVirtualFunc';
end;

procedure TForm1.PaxScripter1LoadDll(Sender: TObject; const DllName,
  ProcName: String; var Address: Pointer);
begin
  if DllName = 'MyVirtualDll.dll' then
  begin
    if ProcName = 'MyVirtualProc' then
      Address := @ MyVirtualProc
    else if ProcName = 'MyVirtualFunc' then
      Address := @ MyVirtualFunc;
  end;
end;
Script:
program Demo;
Function GetTickCount : Integer;  stdcall; external 'kernel32.dll'; // "real" dll

procedure MyVirtualProc; external 'MyVirtualDll.dll'; // "virtual" dll
function MyVirtualFunc: ShortString; external 'MyVirtualDll.dll';
// "virtual" dll

begin

MyVirtualProc();
print MyVirtualFunc();
print GetTickCount();
end.


Copyright © 1999-2006 VIRT Laboratory. All rights reserved.