Warum stürzt mein Programm bei einer ComboBox ab?



  • Könnte auch bei OnCreate gehen. Der zweite Vorschlag von mir war keine Lösung auf dein Problem, sondern nur ein genereller Tip...

    [ Dieser Beitrag wurde am 28.12.2002 um 11:36 Uhr von MaSTaH editiert. ]



  • Hab das ausprobiert geht auch nicht mit OnCreate dann stürzt das ding nicht ab ruf die Funktion aber acuh nicht auf;

    void CSetTagsForm::()
    {
        for(int x = 0; x < (sizeof(genres) / sizeof(char)); ++x)
             m_Combo.AddString(genres[x]);
        int iAnzahl = m_Combo.GetCount();
        CString strTest;
        strTest.Format("%d",iAnzahl);
        AfxMessageBox(strTest);
    }
    

    da passiert absolut gar nichts!!

    Hilfe!!



  • void CSetTagsForm::OnCreate()
    {
        for(int x = 0; x < (sizeof(genres) / sizeof(char)); ++x)
             m_Combo.AddString(genres[x]);
        int iAnzahl = m_Combo.GetCount();
        CString strTest;
        strTest.Format("%d",iAnzahl);
        AfxMessageBox(strTest);
    }
    

    so stimmts



  • void CSetTagsForm::OnCreate()
    {
        for(int x = 0; x < (sizeof(genres) / sizeof(char*)); ++x)
             m_Combo.AddString(genres[x]);
        int iAnzahl = m_Combo.GetCount();
        CString strTest;
        strTest.Format("%d",iAnzahl);
        AfxMessageBox(strTest);
    }
    

    So muss das sein. Du hast die Größe von nem char (1 Byte) und nicht von nem char* (4 Bytes) genommen...

    [ Dieser Beitrag wurde am 28.12.2002 um 14:15 Uhr von MaSTaH editiert. ]



  • Geht auch nicht der ruft die Funktion glaub ich noch nicht mal auf!
    Weis der Geier warum muss ich an der Funktion irgenwas amchen so dass
    diese aufgerufen wird?



  • ok, das könnte jetzt auch völliger blödsinn sein, weil da sollte der compiler einen fehler melden, aber:
    wenn du schreibst const char ****genres[NUMGENRES], solltest du dann nicht auch
    m_Combo.AddString(
    &***genres[x]);
    schreiben?

    EDIT: K, das is blödsinn 🙂 (warum merk ich das immer erst, NACHDEM ich gepostet habe)
    Warum schreibst du eigentlich *genres und nicht genres?
    Ich glaub irgendwie, ich sollte mich mal wieder mit Pointern beschäftigen 😃

    [ Dieser Beitrag wurde am 28.12.2002 um 22:49 Uhr von Chekson editiert. ]



  • Wenn er nur genres schreiben würde, hätte er nur CHAR-Array. Durch *genres gibt es ein Array aus Pointern auf char (-Arrays).



  • wie wärs mit std::string oder CString, da geht sowas ein bissl einfacher.



  • Häääääää, es liegt doch nicht an dem char-Array. Wer bei sowas CString nimmt und nicht char-Arrays hat doch nen Schuss in der Birne...



  • Und kann mir jetzt vielleicht jemand helfen warum das nicht geht?
    Soll ich das vielleicht besser anders machen bin für jeden Vorschalg offen!!

    Helft mir!!

    Bitte!


Anmelden zum Antworten