Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
ВнизТипизированный файл Найти похожие ветки
← →
saNat © (2005-09-14 00:58) [0]Доброго времени суток (о:
Какую то глупость я делаю... В чем ошибка:
Type
TAppConfigData=Record
PName:String;
HostName:String;
PortNumber:Byte;
UserName:String;
MailName:String;
End;
TDeskTopForm=Class(TForm)
AppMenu :TMainMenu;
AppConfig :TMenuItem;
Procedure AppConfigClick(Sender:TObject);
ConfigFile:File of TAppConfigData;
Private
Public
Configuration:TAppConfigData;
End;
При компиляции выдает ошибку "Type "TAppConfigData" needs finalization - not allowed in file type"
С уважением, ЕВА
← →
saNat © (2005-09-14 00:59) [1]Забыл указать место...
ConfigFile:File of TAppConfigData;
← →
Eraser © (2005-09-14 01:04) [2]
> saNat © (14.09.05 00:58)
Дело в том что для записи структуры (записи) на диск она должная иметь конечный размер, а данные типа string могут быть разной длины.
Здесь надо использовать вместо string - ShortString или String[1..255] где в квадратных скобках должна быть длина строки от 1 до 255.
← →
saNat © (2005-09-14 01:06) [3]Понял. Спасибо за помощь
С уважением, ЕВА
← →
Германн © (2005-09-14 01:28) [4]Дело не только в том, что string может быть разной длины. В конце концов и ShortString может быть разной длины (от 0 до 255). А столько в том, что строка в записи:
> PName:String;
означает, что реально в записи присутствует не сама строка, а её адрес в АП данного процесса. Запись сего адреса в файл - бессмысленна, потому что чтение его, скорее всего, будет производиться другим процессом.
Но и такие структуры, при необходимости, можно записывать в файл. Но в (увы) не в типизированный! :(
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c