Unicode unter Windowsw98
-
Hallo Freunde!
Damit Unicode-Anwendungen auch unter Windows98 laufen, muss man unicows.lib dazulinken und unicows.dll für die Unicode-Anwendung während der Laufzeit erreichbar sein.
Soweit klappt es auch.
Nehme ich nun eine selbstgemachte DLL so funktioniert es auch noch.
Nehme ich jedoch eine selbstgemachte MFC Extension DLL so funktioniert es nicht?Weiß jemand warum nicht?
Beste Grüße, Lothar.
-
Hallo!
So einfach wie oben beschrieben geht es leider nicht.
Viele MFC-Libs und -DLLs müssen neu kompiliert werden, da die uniscows.lib immer zuerst dazugelinkt werden muss.
Es gibt unter http://blogs.msdn.com/michkap/articles/276124.aspx eine Anweisungsliste, um dies durchzuführen.
Ich habe diese Anweisungsliste abgearbeitet und anschließend mein Projekt neu kompiliert. Es ließ sich nun auch unter Windows 98 anstarten, es gab jedoch erhebliche Mängel.
So funktierte folgendes nicht mehr:
-LoadLibray, man muss stattdessen AfxLoadLibrary nehmen.
-AfxGetApp()->m_hInstance war leer, wenn es in DLLs aufgerufen wurde.
-std::ifstream file.open ging nicht mehr.
-LoadString ging nicht mehr.
-Ein eigenes OCX ließ sich nicht mehr mit regsvr32.exe registieren.Sicherlich lässt sich die Liste noch erweitern.
Ich vermute, dass viele Funktionen welche Strings nutzen, problematisch sind, da die Umstellung auf UniCode nicht perfekt ist. Obwohl ich die MFC weitgehend umgestellt habe.Gruß, Lothar.