![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с типизованным файлом! [D7, 2000, XP]
Elun © (2009-04-27 09:15:00)Вот такие две записи я создал:
type
zadan=record
vopr:string;
answ:array[1..4] of string;
vern:integer;
end;
tezt=record
namme:string;
quest:string;
countt:integer;
end;
При компиляции выдаёт ошибки:
Build
[Error] wizardd.pas(59): Type 'zadan' needs finalization - not allowed in file type
Строка 59: fil:file of zadan;
[Error] wizardd.pas(60): Type 'tezt' needs finalization - not allowed in file type
Строка 60: spisok:file of tezt;
[Error] wizardd.pas(132): Incompatible types
Строка 132: append(spisok);
[Fatal Error] Tes.pas(169): Could not compile used unit 'wizardd.pas'
Использовал Delphi 7.
Пытался создать на Pascal ABC такие записи, всё работает. WTF?
sniknik (2009-04-27 10:09:00) [1]> у меня, тоже есть массивы
тут компилятору не нравится не массив а строки. впрочем если массив сделать динамическим то и он не пойдет. и наоборот если поменять тип строки с "большой" на "короткую" то претензий у компилятора не будет, т.к. это уже будет не указатель.
и если ты будешь использовать там указательные типы за которыми компилятор не следит, то тоже будет работать... на этапе компиляции, данные же будут записаны "криво".
Anatoly Podgoretsky (2009-04-27 09:51:00) [2]
> дело в том, что я видел программу, в которой запись как
> у меня, тоже есть массивы, но там всё работает.
Максимальная длина строки?
Rembo (2009-04-27 09:35:00) [3]packed ненадо, массив оставь, а количество символов в строках тоже оставь)
Elun (2009-04-27 09:33:00) [4]дело в том, что я видел программу, в которой запись как у меня, тоже есть массивы, но там всё работает.
Rembo (2009-04-27 09:31:00) [5]Если актуально, попробуй zadan=packed record, массив замени на 4 строки answ1..4, и возле каждого "string" поставь "[252]"
)
Elun (2009-04-27 09:28:00) [6]
> Нет смысла использовать указатели в типизированых записях
К сожалению я не понял, что вы сказали. почему он выдаёт ошибки?
Anatoly Podgoretsky (2009-04-27 09:23:00) [7]> Elun (27.04.2009 9:15:00) [0]
Нет смысла использовать указатели в типизированых записях