Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизКлассы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c