Суть:
Код
Procedure read....
Var F:File;
L:Integer;
Txt:PChar;
....
begin
BlockRead(F,L,SizeOf(Integer));
ShowMessage(IntToStr(L)); // должно быть L=10, так и есть, считывает OK
GetMem(Txt,L);
BlockRead(F,Txt^,L);
// вот здесь он считывает 17 - 20 байтов (видимо, по настроению), вместо L=10 !!!
.... далее - неправильное считывание, crush and so on... :(
FreeMem(Txt,L);
End;
Если вручную поставить BlockRead(F,Txt^,7), то считывает текст не полностью (т.е. 7 символов вместо 10 - логично, а вот если поставить 8 - то уже глючит точно также)
Кто нибудь может сказать в чем здесь дело ???