Как сделать динамический массив в DelphiScript?

Извиняюсь, я новичок в написании сценариев в Altium, который использует Delphiscript. Я пытаюсь создать массив TEdit, используя входной номер из tedit. Я следил за этим сообщением , чтобы сделать teditarray. В линииType EditArray = Array of TeditЯ получаю сообщение об ошибке "разрешены только объявления классов"

В документации Altium сказано, что вы не можете создавать новые объекты или объявлять типы массивов, но вы можете объявлять массивы для переменных. Я думаю, что это может быть причиной того, что он не позволяет мне создать новый класс Teditarray. Можно ли здесь создать новый объект или класс, чтобы решить проблему?

Вот решение, которое я в итоге использовал, но я думаю, что оно далеко от идеального: я удалил код Editarray сверху и оставил в своих объявлениях переменныхEdits : TEditArr;который не дал мне ошибок (это не известный идентификатор, который я проверял в последний раз). Когда я нажимаю «Выполнить», это дает мне новую ошибку в цикле for:

      For e in Edits do
        Begin
          E.Top:=Y; E.Left:=0;
          INC(Y,E.Height+8)
        end;

Ошибка в строке:: ожидается

Чтобы обойти все это, я попробовал статический массив:Edits : Array [0..50] of TEdit;Затем у меня есть эта функция, которая при получении числа из первого поля редактирования проверяет целое число, а затем создает введенное количество полей редактирования:

      if (TryStrtoInt(edit1.text,1)) = TRUE Then
     Begin
        Ports := Strtoint(edit1.text);
        For a := 1 to Ports do
        Begin
          Edits[PRED(a)] := TEdit.Create(Self);
          Edits[PRED(a)].Parent := Self;
          Edits[PRED(a)].Top := Y + 344;
          Edits[PRED(a)].Left := 32;
          INC(Y,Edits[PRED(a)].Height+8)
        end;
      ShowInfo('created ports:');
     end;
   end;

где порты - это количество ящиков tedit, которые я хотел бы. Я все еще хотел бы, чтобы этот динамический массив работал однажды, и хотел бы знать, знает ли кто-нибудь, как это сделать.

0 ответов

Другие вопросы по тегам