Вниз
Скачать: 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.036 c
6-1161367061
Русло
2006-10-20 21:57
2007.04.08
Как из своего приложения запустить подключение к GPRS


2-1173946249
Knight
2007-03-15 11:10
2007.04.08
Какой смысл в TDatabase?


15-1174021713
Tirael
2007-03-16 08:08
2007.04.08
Raid 0


15-1174058986
oldman
2007-03-16 18:29
2007.04.08
Пожелай мне удачи в бою...


11-1154795220
NORDmen
2006-08-05 20:27
2007.04.08
string - не более 255 символов в kol программе




   Наверх