Вниз
Скачать: CL | DM;

Работа с классами   Найти похожие ветки 

← →
Ш-К   (2004-02-26 09:40) [0]

Имеется приблизительно такой код:

interface

TMyClass = class of TMy;
...
FieldControl.EditClass: TMyClass;
...
TMyComboBox = class(TMy);
...

implementation
...
FieldControl.EditClass := TMyComboBox;

Т.е. переменной типа класс я присваиваю какой-то класс.

Допусим, названия классов у меня хранятся в стрингах. Как "конвертнуть" из названия класса в сам класс? Что-то типа этого:

FieldControl.EditClass := StringToClasss("TMyComboBox");


← →
Skier ©   (2004-02-26 09:49) [1]

1)RegisterClass(es)
2) GetClass(...) или FindClass(...)


← →
Тимохов ©   (2004-02-26 10:02) [2]

В случае использования совета из ответа 1 Вам нужно будет сделать ваш класс TMy потомком TPersistent. Из вопроса не ясно является ли он уже потомком TPersistent. Скорее всего является (название классов говорит об этом).
Если же не является, то можно самому написать что-то подобное, на основе, например, TStringList.
Как это делается можно посмотреть в том же классе TRegGroup из модуля Classes.


← →
Ш-К   (2004-02-26 10:22) [3]

Пока все работает. Всем спасибо. Тема не закрыта.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-25889
TUser
2004-02-16 11:57
2004.03.09
Карта


14-25923
Cardinal
2004-02-14 15:19
2004.03.09
UPX Shell с ее защитой от декомпрессии


1-25808
LAMER-XP
2004-02-25 23:26
2004.03.09
Всех с праздником! м вопросик заодно


3-25692
lga
2004-02-11 15:57
2004.03.09
Ввод данных в поле типа TIME FB 1.5


3-25700
Yrtimd
2004-02-10 18:27
2004.03.09
Как синхронизовать две базы Access?




   Наверх