Собственно, пришлось немножко повыпендриваться.. Проблему решил открытым массивом:
Код:
function TForm1.RuntimeCompCreate(Tag: Array of const; CType: Integer): Boolean;
var
TypeClass : TControlClass;
NewComp : TControl;
begin
if (CType >= 0) then begin
TypeClass := TControlClass(ListClass[CType]);
NewComp := TypeClass.Create(Self);
NewComp.Parent := Form1;
NewComp.Left := Tag[0].VInteger;
NewComp.Top := Tag[1].VInteger;
NewComp.Height := Tag[2].VInteger;
NewComp.Width := Tag[3].VInteger;
NewComp.Name := String(Tag[4].VString);
if TypeClass = TEdit then begin
(NewComp as TEdit).TextHint := String(Tag[5].VString);
(NewComp as TEdit).Text := String(Tag[6].VString);
end;
end;
end;
Функция динамически создаёт визуальный компонент, принимая в качестве параметров открытый массив.
Код скинул на всякий случай, может быть кому-нибудь будет интересно. Спасибо вам за то что отозвались.