Quote Originally Posted by User137
Wait, first you say "returned list size" but then you are asking to work with non-sized? How do you find out size of this list?
Well, I think the problem is that I'm not a native English speaker. I wanted to say "returned list with size"? not sure.

Anyway thanks for the comments.

I would use:[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;
{$R-} { Don't check range. }
WriteLn (TheList^[0]); { Deference the pointer. }
{$R+}
END.[/pascal]Is that correct?