Inhalt einer listbox abfragen

  • Hi,
    ich wollte mit folgendem Code eine listbox abfragen:

    Code
    void eDemoDialog::selectionChanged(eListBoxEntryText *item) {
    		int item_eintrag=(int)item->getKey();
    		eString item_text = item->getText();
    		lb_selected->setText(eString().sprintf("[%d] %s",item_eintrag,item_text));
    }


    leider bekomme ich eine compiler waring und beim auswählen der funktion stürzt e1 ab.

    Code
    In member function `void eDemoDialog::selectionChanged(eListBoxEntryText*)':
    128: warning: cannot pass objects of non-POD type `class eString' through `...'; call will abort at runtime


    hat jemand eine Idee was ich falsch mache?

    greetings tYREL

    • Offizieller Beitrag

    Hi,


    jo als erstes würde ich mal um alles rum ein if (item) machen... aber das eigentliche Problem hierbei ist das eDebug mit dem %s ... %s erwartet einen C Type String.. also einen char *... du übergibst dort aber einen eString.. das ist eine C++ Klasse.. da kann eDebug nicht wirklich viel mit anfangen.. item_text.c_str() sollte funktionieren :winking_face:


    cu