Вниз
Скачать: CL | DM;

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

 
D@Nger ©   (2007-03-16 07:51) [0]

Здравствуйте! Пытаюсь в своем классе описать файловую переменную.

type Tmyfile = record
    FIO:String;
    Doljnost:String;
    Oklad:Currency;
    end;

type TMyClass=class(Tobject)
    records:TMyfile;
    f1:file of TMyfile;
    end;


вылазит ошибка: Type "Tmyfile" needs finalization - not allowed in file type

я так понял...тип TmyFile нуждается в финализации - не подерживается в файловом типе

как это понять?


 
sniknik ©   (2007-03-16 08:13) [1]

это он про переменные типа String в рекорде, тип сам по себе класс инициализируется(создается) при использовании при окончании финализируется(уничтожается)... в файл это не записать... о чем и ошибка.
пользуйся вместо него массивом типа char (либо коротким типом string с указанием длинны)

и еще, сделай packed record, т.к. файл это как раз тот случай когда нужна гарантия на постоянный размер массива, без этого, теоретически, размер записи может меняться от перекомпиляции проги (в зависимости от типа выравнивания).


 
d@nger ©   (2007-03-16 08:25) [2]

спасибо за исчерпывающую информацию



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.033 c
9-1147122419
Nobody_1988
2006-05-09 01:06
2007.04.08
TBitmaps


2-1173955723
Max459
2007-03-15 13:48
2007.04.08
Тень от формы.


15-1173700505
novill
2007-03-12 14:55
2007.04.08
Не могу понять разработчиков VCL


2-1174042128
usik
2007-03-16 13:48
2007.04.08
как прикрепить изображение в Database Desktop-Paradox 7


9-1146898055
Kn1ght
2006-05-06 10:47
2007.04.08
падение тела




   Наверх