VC++ 6&7 Compiler: Unterschiedliches Verhalten bei Fensterintialisierung



  • Hallo Leute!

    Ich hab ein seltsames Phänomen, das ich nicht ganz erklären kann. Ich hab einen bestehenden Code von VC++6.0 auf 7.0 übernommen. Wenn ich den Code mit 7er Version kompiliere läuft unter NT basierten Windows alles prima, ausgenommen eine Teil der Fensterinitialisierung bei Dos Windows (zB Win98)klappt nicht. Ich muss dann den Code extra auf der 6er Version kompilieren, damit es bei DOS Windows auch funktioniert. Danach klappt es mit allen Festern auch unter den älteren Windows Versionen.

    Ich hab den Code eines solche Problemfensters hier

    void CProjectDialog::OnLimit2Button()
    {
        // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
        CFileDialog dlg(TRUE, _T ("lim"), NULL, NULL, _T ("Limiten (*.lim)|*.lim|"));
        dlg.m_ofn.lpstrTitle = "Datei auswählen";
        dlg.m_ofn.Flags = dlg.m_ofn.Flags | OFN_HIDEREADONLY | OFN_SHOWHELP;
    
        dlg.DoModal();
        GetDlgItem(IDC_LIMIT2)->SetWindowText(dlg.GetPathName());
    }
    

    Diese Code unter 7.0 kompiliert funktinoiert auf Win98 beispielsweise nicht, aber unter WinNT/2000/XP.

    Muss ich nun alle Problemfenster umschreiben? Oder kennt jemand das Problem?

    Vielen Dank für Hinweise.



  • ausgenommen eine Teil der Fensterinitialisierung bei Dos Windows (zB Win98)klappt nicht

    Und was?



  • Das Fenster erscheint einfach nicht...



  • ps. es sind nicht die gewöhnlichen festern, sondern wo ein file ausgesucht und geladen wird. "Datei öffnen..."-Fenster



  • Hast Du bei VC7 vielleicht UNICODE eingestellt?



  • Vielleicht ist auch Dein Filterstring falsch. Am Ende müssen da nämlich 2x || hin!



  • Das mit dem Filterstring versteh' ich nicht ganz. Ich hab etwas damit nun experimentiert aber nicht wirklich eine Änderung herbeiführen können..

    Danke


Anmelden zum Antworten