динамические объекты delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by DooD, 15 Aug 2011.

  1. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Как так не помог, если я его 3 раза у себя на компе запускал???
    Как мой батя периодически многозначительно изрекает "Дело было не в бобине, а дебил сидел в кабине" (ничего личного, но это тот случай)

    создаем главное меню с родительским пуктом "ааа1" и его дочерним "ааа2", на кнопку вешаем событие
    код:
    Code:
    procedure TForm1.btn1Click(Sender: TObject);
    var i:integer;
        tim:tmenuitem;
    begin
      for i:=3 to 50 do
      begin
        tim:=tmenuitem.Create(form1);
        tim.Name:='aaa'+inttostr(i);
        tim.Caption:='aaa'+inttostr(i);
        (form1.FindComponent('aaa'+inttostr(i-1)) as TMenuItem).Add(tim);
      end;
    end;
    нажимаем по кнопке, и получаем, ВНИМАНИЕ!!!

    [​IMG]

    Обрати внимание, что они вложены друг в друга на 23 уровня (дальше просто монитор закончился)
     
    #21 xophet, 17 Aug 2011
    Last edited: 17 Aug 2011
  2. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    а хз, ошибка вываливалась было влом разбираться, но в моем методе все тупо и просто:каждый индекс итемса имеет еще индекс итемса :D гениально:)
     
  3. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    обновил предыдущий пост, а ошибка вывалилась 100% "Item named "aaa" allready exists"