Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Типизированный файл   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
2-1124813961
Juice
2005-08-23 20:19
2005.10.02
2 Вопроса по IDE


2-1124655117
bogdan
2005-08-22 00:11
2005.10.02
Составить базу данных


3-1124241947
Strech
2005-08-17 05:25
2005.10.02
BLOB поля в dbf через ADO


14-1126064115
КаПиБаРа
2005-09-07 07:35
2005.10.02
Цивилизацию погубят США?


14-1125992945
Думкин
2005-09-06 11:49
2005.10.02
Цивилизации нет.