Форум: "Потрепаться";
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];
ВнизВопрос о распространнёности Delphi в мире. Найти похожие ветки
← →
Юрий Зотов (M) (2002-02-15 17:11) [72]VuDZ © (15.02.02 16:17)
Все дело в ссылках на класс (метаклассах). Не на экземпляр класса, а на сам класс. Действительно мощная штука.
В примере vuk"а это параметр ClassRef. Вы передаете функции ссылку на любой класс, экземпляр которого Вы хотите создать, она вызывает конструктор именно этого класса и возвращает ссылку уже на экземпляр этого класса.
В более общем виде можно написать даже так:
function CreateAnyComponent
(AClass: TComponentClass; AOwner: TComponent): TComponent;
begin
Result := AClass.Create(AOwner)
end;
И пример использования:
EditForm := CreateAnyComponent(TForm, Application);
StringEditor := CreateAnyComponent(TEdit, EditForm);
TextEditor := CreateAnyComponent(TMemo, EditForm);
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c