file of TRekord

0

Mam coś takiego (w skrócie):

procedure TForm1.Button1Click(Sender: TObject);
var
  f: file of TTest;
  r: TTest;
begin
  r.a:=10;
  r.b:='aaa';
  assignfile(f,'c:\aaaa.dat');
  rewrite(f);
  Write(f,r);
  closefile(f);
end;

i wywala mi błąd na f: file of TTest; o treści:
Type 'TTest' needs finalization - not allowed in file type.
O co chodzi i co robię źle? to przecież książkowy przykład :|

0

A czym jest TTest? Chodzi o to, ze w rekordach do plikow nie moze byc czegos takiego jak s: String;, zmienna musi miec ograniczona wielkosc, np s: String[20];

//Pierszy raz bylem pierwszy ;)

0

A help to po co w Delphi jest? Prrawdopodobnie użyłeś stringa w rekordzie, co jest niedozwolone w rekordzie przeznaczonym do zapisu do pliku. Zresztą zapis stringu do pliku zapisałby Ci tylko wskaźnik a nie string, co byłoby bez sensu. Użyj string[liczba] lub array [liczba] of char, albo zrób plik o zmiennej długości pól i pisz przez BlockWrite

// a Wolverine szybki chłopak jest :))

0

Dziękuję, chodziło właśnie o Stringa (nie podałem długości). Ale teraz chodzi jak należy. A co do helpa to nie umiem po angielsku :p hehe

1 użytkowników online, w tym zalogowanych: 0, gości: 1