Есть программка использующая динамический массив, собирается без проблем, но  при исполнении вываливает кучу "An unhandled exception occurred at $XXXXXX"
Куда копать непонятно.
Собственно код программы:
type
  PUsers = ^pusersar;
  users = record
       ip: string[16];
       traff: qword;
  end;
  pusersar = array of users;
const
    FName       = 'ulogd.syslogemu';
    UName       = 'users';
    SAddrPrefix = 'DST=';
    Protocol    = 'PROTO';
    Traff       = 'LEN=';
var
  LogF: Text;
  UsersAr: pusers;
  IP: TStringList;
  I, J, Num, Num2, ErrC: word;
  LenPos: longint;
  STraff, Source: string;
  DigTraff: qword;
begin
//create objects
IP  := TStringList.Create;
//complite create objects
AssignFile(LogF, FName);
Reset(LogF);
IP.LoadFromFile(UName);
Num := IP.Count;
GetMem(UsersAr, Num*Sizeof(Users));
for I := 0 to Num - 1 do
  begin
    UsersAr^[I].IP := IP.Strings[I];
    while not EOF(LogF) do
      begin
        readln(LogF, Source);
        if pos(IP.Strings[I], Source)<>0 then
          begin
           LenPos := pos(Traff, Source);
           delete(Source, 1, LenPos+3);
           LenPos := pos(' ', Source);
           delete(Source, LenPos, length(Source));
           STraff := Source;
           val(STraff, DigTraff, ErrC);
           if ErrC<>0 then
            begin
              writeln('Parsing error with code -- ', ErrC);
              exit;
            end
           else
             begin
              UsersAr^[I].Traff := UsersAr^[I].Traff + DigTraff;
             end;
          end;
      end;
  end;
for I := 0 to Num -1 do
  writeln(UsersAr^[I].IP, ' -- ', UsersAr^[I].Traff, ' bytes');
//Destroing objects
FreeMem(UsersAr);
IP.Destroy;
CloseFile(LogF);
end.
В турбо паскале такая конструкция работала.
подскажите где ошибка...
			
		


