[delphi] blad 'read beyond'

0

Czesc!
Napisalem sobie programik odczytujacy dane z pliku, dane te sa zapisywane w postaci rekordow. Jednak gdy uruchamiam program wyskakuje blad o tresci: Read beyond end of file. Wiem kurcze ze oznacza to mniej wiecej ze program chcial przeczytac juz poza plikiem lecz dane wyswietlane sa prawidlowo. Nie wiem jak usunac ten plad :| Oto kawalek procedurki:

AssignFile(plik, 'users/wiadomosci.mai');
reset(plik);

for i:=0 to sizeof(plik)-1 do
begin

setLength(ZWiadomosci, 1);
Read(plik, ZWiadomosci[i]);

end; // koniec petli

closefile(plik);

Chcialem zrobic cos takiego

while not eof(plik) do

ale wtedy kompilator wywala blad niezgodnosci typow ;(

Jeszcze zeby tego bylo malo po wyalczeniu programu wyskakuje komunikat o tresci 'Nieokreslony blad.' Nie wiem o co biega :P

Uzywam tablic dynamicznych. Moze trzeba je 'destroy' po zakonczeniu programu? :P

Prosze o pomoc!

0

Twój kod ileśtam razy ustawia rozmiar twojej tablicy na 1 i pakuje dane gdzies w kosmos. :-P

AssignFile(plik, 'users/wiadomosci.mai');
reset(plik);
setLength(ZWiadomosci, sizeof(plik));
for i:=0 to sizeof(plik)-1 do read(plik, ZWiadomosci[i]);

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