Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
3-1124188824
Xmen
2005-08-16 14:40
2005.10.02
QRRichText


14-1126150607
Mike Kouzmine
2005-09-08 07:36
2005.10.02
Ельцин сломал ногу.


9-1116958134
ins3rt
2005-05-24 22:08
2005.10.02
OpenGL движок


2-1124699850
boxer
2005-08-22 12:37
2005.10.02
Архивация файла БД


5-1100848833
Lisii
2004-11-19 10:20
2005.10.02
Таймер в компоненте




   Наверх