Главная страница
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.016 c
1-82853
Gari
2002-11-14 13:14
2002.11.25
Вопрос по ActiveX


7-83031
LexaTyukha
2002-09-24 13:07
2002.11.25
Обработка закрытия приложения. Запрет и сообщение об этом юзеру.


3-82627
MetalFan
2002-11-05 15:43
2002.11.25
RxDbGrid


6-82883
Schummi
2002-03-24 09:38
2002.11.25
Отправка E-mail ов


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