Показать сообщение отдельно
  #4  
Старый 22.10.2012, 03:47
StoxFT StoxFT вне форума
Прохожий
 
Регистрация: 21.10.2012
Сообщения: 2
Репутация: 10
По умолчанию

Собственно, пришлось немножко повыпендриваться.. Проблему решил открытым массивом:
Код:
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;

Функция динамически создаёт визуальный компонент, принимая в качестве параметров открытый массив.
Код скинул на всякий случай, может быть кому-нибудь будет интересно. Спасибо вам за то что отозвались.
Ответить с цитированием