Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Внизкак инициализируются переменные в классе по умолчанию Найти похожие ветки
← →
Man (2003-07-22 12:40) [0]Привет Всем!Такой вопрос:как инициализируются переменные в классе по умолчанию.Т.е. глобальную переменную я могу проинициализировать,к примеру x:integer=7,да и по умолчанию и без этого по умолчанию в ней будет 0. Может есть какие настройки для компилера.Зараннее всем большое спасибо!
← →
ЮЮ (2003-07-22 12:42) [1]в конструкторе
← →
KSergey (2003-07-22 12:43) [2]Члены класса сбрасываются в 0 создании экземпляра
← →
Digitman (2003-07-22 12:50) [3]Память под создаваемый экземпляр класса заполняется нулями (неявный код заполнения автоматически вставляется компилятором) до того как будет передано управление конструирующему методу.
← →
Man (2003-07-22 13:29) [4]>KSergey
>Digitman
А это будет отрабатывать всегда или есть всё же директивы компилятору.
← →
Толик (2003-07-22 13:34) [5]Директив никаких нет, инициализация нулями (FillChar) вызывается в InitInstance.
Initializes a newly allocated object instance to all zeros and initializes the instance’s virtual method table pointer.
← →
3APA3A (2003-07-22 14:14) [6]А ты объяви переменную как property .
property Value:Integer read Get write Set default 666;
← →
Толик (2003-07-22 14:23) [7]to 3APA3A © (22.07.03 14:14)
объяви переменную как property .
В этом случае инициализации не будет. Директива default вообще не для этого предназначена.
← →
Anatoly Podgoretsky (2003-07-22 14:41) [8]Сообственно это тоже директива инициализации, только с противоположным действием, здесь мы указываем, что свойство Value не надо сохранять в потоке, а мы будем сами его инициализировать в конструкторе. Если поручить эту инициализацию системе, то мы как раз должны убрать эту директиву. (только для published свойств).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c