blob: fd2af19d8a4237007aa295fd8962b036412c2a11 (
plain)
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
|
program testsubs;
Type
TSubStrFunc =
function(const CString:PChar;FromPos,ToPos: longint):PChar;cdecl;
Function dlopen(name: pchar;mode: longint):pointer;cdecl;external 'dl';
Function dlsym(lib: pointer; name: pchar):pointer;cdecl;external 'dl';
Function dlclose(lib: pointer):longint;cdecl;external 'dl';
var
s: PChar;
FromPos, ToPos: Integer;
lib : pointer;
SubStr : TSubStrFunc;
begin
s := 'Test';
FromPos := 2;
ToPos := 3;
lib:=dlopen('libsubs.so',1);
Pointer(Substr):=dlsym(lib,'SubStr');
WriteLn(SubStr(s, FromPos, ToPos));
dlclose(lib);
end.
|