Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как создать объект по имени класса ? [D4, D5, D6, D7]


SkyP ©   (2004-07-22 09:32:00) 

есть строка с именем класса,
как создать объект ?


Sandman25   (2004-07-22 10:01:00) [1]

А я не знал :) Зашел в classes.pas, включил Code Explorer, нашел GetClass,  вызвал, нарвался на AV, подумал, поискал, где еще вызывается GetClass - нашел FindClass, вызвал нарвался на ошибку незарегистрированного класса, подумал, вспомнил о RegisterClass. Метод научного тыка, в общем :)


SkyP   (2004-07-22 09:58:00) [2]

спасибо, даже извените,
FindClass знал :)))


Sandman25   (2004-07-22 09:51:00) [3]

type
 TWinControlClass = class of TWinControl;

procedure TForm1.FormCreate(Sender: TObject);
var
 Control                     : TWinControl;
begin
 RegisterClass(TButton);
 Control := TWinControlClass(FindClass('TButton')).Create(Self);
 Control.Parent := Self;
end;


SkyP   (2004-07-22 09:44:00) [4]

создание обьъекта по имени класса


Sun bittern   (2004-07-22 09:41:00) [5]

function ETSCreateComponent(AComponentClass: TClass; AOwner: TComponent = Nil): TComponent;
 var
   A: TComponentClass;
begin
 A := TComponentClass(AComponentClass);
 Result := A.Create(AOwner);
end;

+ RegisterClasses


Наверх

Титульная страница Поиск, карта сайта Написать письмо