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

Вниз

Классы   Найти похожие ветки 

 
qwe   (2003-10-30 17:59) [0]

type
TMyForm = class(TForm);

TFormClass = class of TForm;

Что означает последняя строка


 
Digitman ©   (2003-10-30 18:03) [1]

ссылка на описание класса (не путать со ссылкой на объект ранее описанного класса)


 
qwe   (2003-10-30 18:09) [2]

А почитать про это дело где нибудь можно кроме F1 порекомендуйте


 
Digitman ©   (2003-10-30 18:12) [3]


> qwe


затрудняюсб сказать, где это лучше и наглядней всего описано ...

вероятно, <Юрий Зотов> подскажет наиболее хорошие ссылки


 
Palladin ©   (2003-10-31 01:44) [4]

Вот сдесь немного http://www.rsdn.ru/article/Delphi/delphiabs.xml но суть поймешь.
В инете мало написано про виртуальные конструкторы.


 
Юрий Зотов ©   (2003-10-31 07:16) [5]

> qwe

Лучшее, что я встречал на эту тему - это книга Рэя Конопки "Разработка оригинальных компонент в среде Delphi". Попробуйте найти (говорят, она еще продается в Киеве), не пожалеете. Вообще, рекомендую эту книгу всем, кто хочет действительно ПОНЯТЬ, что такое Delphi и VCL и почему VCL устроена именно так, а не иначе.

Вообще, ищите информацию в Сети по ключевым словам:
- Delphi
- виртуальные конструкторы
- метаклассы.

Кратко, TFormClass - это так назывваемый метакласс и означает "класс TForm или любой его потомок". Заметьте - не "ОБЪЕКТ класса TForm или любого его потомка", а именно сам КЛАСС. То есть, если КЛАСС обобщает семейство ОБЪЕКТОВ, то МЕТАКЛАСС обобщает семейство КЛАССОВ.

Посмотрите в модуле Classes, как коллекция (TColection) создает свои элементы - через метакласс TCollectionItemClass. То есть, коллекция умеет создавать не только элементы конкретного класса TCollectionItem, но и любого ПОТОМКА этого класса. Что дает нам возможность создавать свои коллекции с ЛЮБЫМИ элементами.

Аналогично Grid создает свои колонки, а ListView - свои Item"ы. Посмотрите, как сделан метод TApplication.CreateForm - то же самое. И т.д. Это очень мощный и гибкий механизм.



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
3-40882
Nikitos
2003-10-19 18:28
2003.11.13
ПРоблема с нежелательным обновлением


1-41256
Cr@zy-EyE
2003-10-31 17:00
2003.11.13
Как загрузить DLL из произвольной папки?


14-42116
zax
2003-10-20 22:18
2003.11.13
ModelMaker


1-41698
phan
2003-11-04 11:55
2003.11.13
ReadOnly колонка в StringGrid


1-41188
boobl!k
2003-11-02 12:12
2003.11.13
Динамическое создание обьектов типа TLabel