Ну это точно ерунда какая то:
| Код | Var OBJ:TObject; begin
OBJ:=('TButton').Create //
// или
(OBJ as 'TLabel').Caption='000';
end
|
Если тебе известен тип класса только по имени, может тогда замутить что-то такое:
| Код | if str = 'TLabel' then OBJ:=TLabel.Create; if str = 'TButton' then OBJ:=TButton.Create; ...
|
А может вообще стоит копать в сторону типа Variant ... может с ним что-то такое получиться. Нужно только будет создавать свой код для преобразования.
Факт остается в том, что просто по строке 'TLabel' объект не создашь. Для компилятора это ведь просто строка и плевать он хотел, что там в ней. Он знает сколько памяти нужно для нее. А вот для TLabel или TButton нужно разное кол-во памяти.
Ерунда какая то... может ты задачку опишешь, может и не надо здесь таких велосипедов?
|