Главная страница
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.046 c
14-1126584231
Булеан
2005-09-13 08:03
2005.10.02
Упростить выражение


10-1083820419
AntonVS
2004-05-06 09:13
2005.10.02
TExcelApplication


1-1126678202
Фёдор Сумкин
2005-09-14 10:10
2005.10.02
Ошибка Rave Reports


1-1126604824
DrZBodun
2005-09-13 13:47
2005.10.02
Помогите определится с выбором елемента отображения


14-1126351281
palva
2005-09-10 15:21
2005.10.02
Кто пойдет за гробом?