Was macht freeandnil?
Es geht davon aus das der Pointer ein Object ist.....
Du hast aber einen record.....
Delphi-Quellcode:
procedure FreeAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
Temp.Free; // Hier knallt es bei Dir
end;
Und bitte die Source hier mit rein in Delphi Tags