Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

Явно правельный код, с совершенно не явным смыслом.   Найти похожие ветки 

 
Sectey ©   (2002-11-13 14:49) [0]

Решил создать класс потомок от TCollection. Чтобы, все сделать более менее грамотно решил посматреть, как это делают люди. И в качестве примера стал смотреть TDBGridColumns и TColumn пример более чем исчерпывающий. И сталнулся с таким кодом:

function TDBGridColumns.Add: TColumn;
begin
Result := TColumn(inherited Add);
end;

function TCollection.Add: TCollectionItem;
begin
Result := FItemClass.Create(Self);
end;

т.е. при вызове TDBGridColumns.Add вызывается TCollection.Add с явным приведением типов.
И ВОТ ТУТ-то Я ТУПЛЮ.

Я НЕ ПОНИМАЮ КОГДА ПРОИСХОДИТ ВЫЗОВ конструктора TColumn и почему он вообще должен вызываться?

Заранее благодарен всем кто ответит.


 
Smithson ©   (2002-11-13 14:54) [1]

FItemClass.Create
А FItemClass - это указатель на тип класса. есть в Delphi такая классная штука, как указатель (ссылка) на class.


 
Sectey ©   (2002-11-13 15:04) [2]

Если чесно то первый раз слышу но это круто.



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

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-82821
Slava
2002-11-13 13:46
2002.11.25
Перерисовка на канве формы


6-82887
TDOP
2002-09-28 22:10
2002.11.25
Как узнать все IP адреса ?


7-83011
yurez
2002-09-24 10:59
2002.11.25
Access violation. в вин98 ошибки нет. в вин2000 -м выдается


1-82767
chak
2002-11-15 11:03
2002.11.25
Delphi+MapObjects


14-82932
Dush
2002-11-05 16:14
2002.11.25
Экстрим програминг!