Вниз
Скачать: 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.026 c
9-1146528220
ЦТ
2006-05-02 04:03
2007.04.08
Как посчитать центр тяжести для n точечных масс в 3D?


2-1173807982
Hollander
2007-03-13 20:46
2007.04.08
Замена Пуск->Выполнить


15-1173813639
MsGuns
2007-03-13 22:20
2007.04.08
Гребенщиковский "Аэростат"


15-1173955310
@!!ex
2007-03-15 13:41
2007.04.08
3D изображение не на плоскости


15-1173669834
Slider007
2007-03-12 06:23
2007.04.08
С днем рождения ! 10 марта




   Наверх