![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Явно правельный код, с совершенно не явным смыслом. [D5, Win2k]
Sectey © (2002-11-13 14:49:00)Решил создать класс потомок от 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 и почему он вообще должен вызываться?
Заранее благодарен всем кто ответит.
Sectey (2002-11-13 15:04:00) [1]Если чесно то первый раз слышу но это круто.
Smithson (2002-11-13 14:54:00) [2]
FItemClass.Create
А FItemClass - это указатель на тип класса. есть в Delphi такая классная штука, как указатель (ссылка) на class.