TMenuItem: Caption ändern



  • Hallo miteinander!

    Ich hab hier einen äußerst seltsamen Effekt:

    Eine einfache Anwendung mit einem PopupMenu, dessen Item-Captions muß ich zur Laufzeit umbenennen (wegen mehrsprachige Anwendung). Alles ist ganz normal deklariert:

    class TfrmMain : public TForm
    {
    __published:
        TPopupMenu *popTray;
        TMenuItem *pitOnline;
    
    //... gekürzt
    
    }
    

    in .cpp:

    void __fastcall TfrmMain::Localize()
    {
    //...
        pitOnline->Caption = pLocale->GetAnsiString(10); //Fehler
    //...
    }
    

    Kompilieren geht ohne Probleme, zur Laufzeit kommt allerdings der Fehler: EInvalidPointer with message "Invalid pointer operation". Das passiert auch wenn ich einen Wert direkt zuweise (pitOnline->Caption = "bla"), also meine Funktion macht was sie soll, die Exception kommt bei der zuweisung. Bin echt planlos 😕
    Vielleicht sollte ich noch erwähnen, daß das Menu nicht an das Formular "gebunden" ist, sondern über nem Tray-Icon per TPopupMenu->Popup() geöffnet wird, aber das dürfte keine Rolle spielen, denk ich mal.

    .



  • Ok, hat sich erledigt. Ich hatte an anderer Stelle zu wenig Speicher reserviert um beim Beschreiben des selbigen nen Stück von meinem Menu (bzw. den Items) überschrieben. 🙄

    .


Anmelden zum Antworten