![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как создать объект по имени класса ? [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