Доброго времени суток, знатоки. Собственно сабж:
Есть тип:
Код:
TListClass = array [ 0..3 ] of TControlClass;
Есть константа:
Код:
ListClass : TListClass = (TEdit , TButton , TCheckBox , TLabel);
Есть функция:
Код:
function TForm1.RuntimeCompCreate(Tag: Array of Variant; CType: Integer): Boolean;
var
TypeClass : TControlClass;
New : TControl;
begin
if (CType >= 0) then begin
TypeClass := TControlClass(ListClass[CType]);
New := TypeClass.Create(Self);
With New do begin
Parent := Form1;
Left := Tag[0];
Top := Tag[1];
Height := Tag[2];
Width := Tag[3];
Name := Tag[4];
end;
if TypeClass = TEdit then begin
(New as TEdit).TextHint := Tag[5];
(New as TEdit).Text := Tag[6];
end;
if TypeClass <> TEdit then begin
Caption := Tag[5];
end;
end;
end;
При компилировании ругается на блок кода с присвоениями от Tag[0] до Tag[4], ошибка: [DCC Error] Unit1.pas: E2016 Array type required;
Мозг кипит, подскажите пожалуйста, где мои кривые руки ошиблись? Заранее благодарен.)