Здравствуйте, bivis, Вы писали:
B>B>function CreateControl(AClassName:string; AParent:TWinControl):TWinControl;
B>begin
B> Result:=FindClass(AClassName).Create as TWinControl;
B> Result.Parent:=AParent;
B>end;
B>
Ошибка в том, что для потомков TComponent необходимо вызывать конструктор TComponent.Create(AOwner: TComponent); Поэтому, может помочь следующее:
function CreateControl(AClassName:string; AParent:TWinControl):TWinControl;
begin
Result:=TWinControlClass(FindClass(AClassName)).Create(AParent);
Result.Parent:=AParent;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
RegisterClass(TButton);
Btn := CreateControl('TButton', Self) as TButton;
Btn.Caption := '!!!!!!!!!';
Btn.Visible := True;
end;
... << RSDN@Home 1.1 beta 2 >>