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

Вниз

Как перечислить зарегистрированные классы   Найти похожие ветки 

 
atruhin ©   (2007-02-04 22:15) [0]

Т.е. классы зарегестрированные RegisterClass перечислить в рантайм?


 
MBo ©   (2007-02-05 06:17) [1]

Зарегистрированные классы хранятся в приватном списке, так что легальных способов добраться к ним нет, а хакерские - зависят от версии Дельфи.
Из примитивного - создать список имен известных классов и проверять Find/GetClass.


 
MBo ©   (2007-02-05 06:39) [2]

хм... в Classes обнаружил TClassFinder


procedure TForm18.FormCreate(Sender: TObject);
begin
 RegisterClass(TButton);
end;

procedure TForm18.GetC(AClass: TPersistentClass);
begin
 ListBox1.Items.Add(AClass.ClassName);
end;

procedure TForm18.Button4Click(Sender: TObject);
var
 CF: TClassFinder;
begin
 CF := TClassFinder.Create();
 CF.GetClasses(GetC);
 CF.Free;
end;


 
Джо ©   (2007-02-05 06:50) [3]

> [2] MBo ©   (05.02.07 06:39)
> хм... в Classes обнаружил TClassFinder

Ого. Забавно.

[offtop]
TForm18 — что же за пакость в этих новых BDS с именованием классов форм?
[/offtop]


 
MBo ©   (2007-02-05 07:48) [4]

>что же за пакость в этих новых BDS с именованием классов форм?

Глобальная сквозная нумерация ;))

При создании нового проекта в общей папке Projects дается очередное имя проекту и формам, поэтому для тестовых проектов у меня нумерация растет быстро.


 
atruhin ©   (2007-02-05 14:57) [5]

Большое спасибо. А то пол вечера рыл инет, да литературу ничего.


 
evvcom ©   (2007-02-06 10:05) [6]

> [5] atruhin ©   (05.02.07 14:57)

Рыть надо генофонд! Там гораздо больше инфы.



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

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

Наверх




Память: 0.48 MB
Время: 0.066 c
2-1173026669
Иванов
2007-03-04 19:44
2007.04.01
Просьба не пинать


15-1173015018
Riply
2007-03-04 16:30
2007.04.01
Комментарии в dpr файле.


3-1168368112
Aspyrin
2007-01-09 21:41
2007.04.01
Создание элементов QReport связанных с сетевой БД


15-1173418402
sportman
2007-03-09 08:33
2007.04.01
Акт внедрения программного продукта


1-1170426346
Азимов Ризван
2007-02-02 17:25
2007.04.01
Работа с OLEContainer