Frage zu Zugriff auf PopUpMenu-Eintrag



  • Hallo,
    ich habe ein PopUpMenu, das wie folgt aufgebaut ist:

    TPopupMenu* aPopUpMenu;
    TMenuItem* NewItem;
    UnicodeString s;
    
    aPopUpMenu = new TPopupMenu(this);
    
    for (int j = 0; j < 5; j++){
      NewItem = new TMenuItem(this);
      NewItem->Caption = "Item " + IntToStr(j);
      aPopUpMenu->Items->Add(NewItem);
    };
    

    Warum erhalte ich bei Fall1 eine Exception? Ich bin bisher davon ausgegangen, dass die Konstrukte Fall1, Fall2 gleichwertig sind.

    //Fall 1:
    s = aPopUpMenu->Items[1].Caption;  //Exception
    //Fall2: 
    s = aPopUpMenu->Items->operator [](1)->Caption;  //okay: "Item 1"
    


  • weil es

    s = aPopUpMenu->Items->Items[1].Caption;
    

    heißen muß -)
    D.h. das 2. Items entspricht dann dem "operator []".



  • @Th69, danke für Deine Erklärung 👍

    manchmal sitzt man einfach zu nah am Bildschirm (glotz!) und erkennt so die einfachsten Sachen nicht mehr!


Anmelden zum Antworten