Problem bei wxTextInputStream



  • Hallo Forumsgemeinde,

    Ich nutze in einem Projekt in verschiedenen Klassen den 'wxTextInputStream'. Die Klassen schreiben jeweils verschiedene Arten von Files (z.B. *.ini, oder *.txt files).

    In sämtlichen Fällen gehe ich in diesen Klassen wie folgt for:

    // ...
    wxFile* dateiZurArbeit = new wxFile(myFileName.GetFullPath(), wxFile::read);
    if (dateiZurArbeit->IsOpened())
    {
        wxFileInputStream* input  = new wxFileInputStream(*dateiZurArbeit);
        if (!input->IsOk())
        {
            // hier return von Fehler
            return false;
        }
        wxTextInputStream* inText = new wxTextInputStream(*input);
        isOpen = true;
        return true;
    }
    // ...
    

    Ausgelesen wird das ganze dann bei mit durch eine die Funktion

    wxString r(inText->ReadLine());
    

    Dadurch wird mir ja der 'wxConvAuto()' aufgerufen weil ja der C'tor des wxTextInputStream´s so deklariert ist

    wxTextInputStream(wxInputStream &s, const wxString &sep = L"\x0009", const wxMBConv& conv =wxConvAuto());
    

    Das seltsame dabei ist, das der 'wxConvAuto()' anscheinend unterschiedliche Rückgaben liefert.

    Sprich einmal in 'wxConvISO8859_1' und in einer anderen Klasse in 'wxConvUTF8' wechselt. Was mir dann natürlich Probleme gibt wenn es z.B. darum geht Umlaute wie ä,ö,ü usw zu lesen.

    Das Projekt und sämtliche Klassen darin sind mit den gleichen Eigenschaften und auf UNICODE kompiliert.

    Meine Frage ist nun wie das zustande kommt !?

    Hoffe mal jemand hat eine Idee woran das liegen könnte.

    Mfg
    Ollow


Anmelden zum Antworten