Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

как создать объект по имени класса ?   Найти похожие ветки 

 
SkyP   (2004-07-22 09:32) [0]

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


 
Sun bittern ©   (2004-07-22 09:41) [1]

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

+ RegisterClasses


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

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


 
Sandman25 ©   (2004-07-22 09:51) [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:58) [4]

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


 
Sandman25 ©   (2004-07-22 10:01) [5]

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



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

Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.032 c
1-1090449329
AlexR
2004-07-22 02:35
2004.08.08
Как можно отследить минимизацию окна программы


14-1090575127
REP
2004-07-23 13:32
2004.08.08
Пятно от шариковой ручки


1-1090827243
Delph1
2004-07-26 11:34
2004.08.08
Русский язык в клипборде


6-1086544697
Prankster.
2004-06-06 21:58
2004.08.08
Проверка на живость


9-1082980380
wild_arg
2004-04-26 15:53
2004.08.08
Геометрия трещины и другое





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский