/usr/share/doc/fp-compiler/2.6.4/win32/testdll.pp is in fp-compiler-2.6.4 2.6.4+dfsg-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | {
Copyright (c) 1998 by Pierre Muller
Win32 DLL usage example. It needs dlltest.pp
}
library testdll;
function GetModuleFileName(hModule:longint;lpszPath:pchar;cchPath:longint):longint;
stdcall; external 'kernel32' name 'GetModuleFileNameA';
procedure beep(ID:longint);
stdcall; external 'user32' name 'MessageBeep';
var
teststr : string;
procedure P1(var s:string);export;
var
i : longint;
p:array[0..255] of char;
begin
i:=length(s);
getmodulefilename(Hinstance,@p,255);
writeln('DLL: Hello, I''m DLL ',pchar(@p));
writeln('S before is "',s,'"');
s:='New value';
end;
procedure P2(x:longint);export;
begin
writeln('DLL: Argument X=',x);
writeln('DLL: New teststr="',teststr,'"');
end;
procedure P3(var t);export;
var
p : pointer;
begin
p:=Addr(T);
p:=p;
end;
procedure P4(x1:pointer);export;
begin
Inc(x1);
end;
procedure NewExit;
begin
beep(0);
writeln('DLL: Exit from testdll');
end;
exports
P1 index 1,
P2 name 'Proc2',
P3,
P4 resident,
teststr name 'FPC_string';
begin
writeln('DLL: HInstance ',Hinstance,' PrevInst ',Hprevinst,' DLLReason ',DLLreason,' DLLParam ',DLLparam);
teststr:='DLL init done';
exitproc:=@newExit;
end.
|