Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > инициализация of procedure pointers


Автор: Leana 3.1.2007, 17:52
подскажите пожалуйста, можно ли инициализировать procedure pointers
у меня вот такой код:

TOnBeforeRemovePriceEntry = procedure(const P: t_price_list_node_ptr) of object; 

t_price_list = object(DoubleList)               
    OnBeforeRemoveNextPriceEntry: TOnBeforeRemovePriceEntry = nil;   
    OnBeforeRemovePriceEntry:        TOnBeforeRemovePriceEntry = nil;     


Сначала я не инициализировала их. Было просто:
t_price_list = object(DoubleList)               
    OnBeforeRemoveNextPriceEntry: TOnBeforeRemovePriceEntry;   
    OnBeforeRemovePriceEntry:        TOnBeforeRemovePriceEntry;   


и все работало отлично.
Но босс хочет, чтобы они были инициализированы to nil. Как это сделать? При верхней раскладке дел, компилятор ругается и говорит, что в декларации  OnBeforeRemoveNextPriceEntry и OnBeforeRemovePriceEntry он хочет увидеть ; а видит =.....


please help.


Автор: Snowy 3.1.2007, 18:01
Они и так инициализируются в nil при создании объекта.
Это подразумевается по умолчанию.
Ничего ручками делать не нужно - всё уже готово.

Автор: skyboy 3.1.2007, 18:05
м.б., надо "default nil", а не "= nil"?

Добавлено @ 18:07 
а, это не свойства, а поля...
если шефу так охото, можно сделать явно в конструкторе - всё время на виду будет(несмотря на то, что Showy абсолютно прав - при создании объекта все числовые поля заполняются 0, а указатели - nil)

Автор: Leana 3.1.2007, 18:14
Хорошо, спасибо. Засуну все это в конструктор. Может тогда его душенька будет довольна. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)