I've found the answer from another forum.
[pascal]PROGRAM example;
TYPE
TLIST_ITEMptr = ^TLIST_ITEM;
TLIST_ITEM = RECORD
Field: INTEGER;
Other: INTEGER;
END;
TLISTptr = ^TLIST;
TLIST = ARRAY [0..0] OF TLIST_ITEM;
FUNCTION get_list: TLISTptr; CDECL; EXTERNAL 'lib.dll';
VAR
TheList: TLISTptr;
BEGIN
{ Somewhere }
TheList := get_list;
WriteLn (TheList^[0]);
END.[/pascal]Note the use of [ 0..0 ] to prevent 'unfair use'.
It was sooooooo obvious... I'm embarassed... ops:
Bookmarks