![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Типизированный файл [D6, WinXP]
saNat © (2005-09-14 00:58:00)Доброго времени суток (о:
Какую то глупость я делаю... В чем ошибка:
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"
С уважением, ЕВА
Германн (2005-09-14 01:28:00) [1]Дело не только в том, что stringможет быть разной длины. В конце концов и ShortStringможет быть разной длины (от 0 до 255). А столько в том, что строка в записи:
> PName:String;
означает, что реально в записи присутствует не сама строка, а её адрес в АП данного процесса. Запись сего адреса в файл - бессмысленна, потому что чтение его, скорее всего, будет производиться другим процессом.
Но и такие структуры, при необходимости, можно записывать в файл. Но в (увы) не в типизированный! :(
saNat (2005-09-14 01:06:00) [2]Понял. Спасибо за помощь
С уважением, ЕВА
Eraser (2005-09-14 01:04:00) [3]
> saNat © (14.09.05 00:58)
Дело в том что для записи структуры (записи) на диск она должная иметь конечный размер, а данные типа string могут быть разной длины.
Здесь надо использовать вместо string - ShortString или String[1..255] где в квадратных скобках должна быть длина строки от 1 до 255.
saNat (2005-09-14 00:59:00) [4]Забыл указать место...
ConfigFile:File of TAppConfigData;