16-32-Bit-DLL Verwirrung
-
Servus zusammen,
ich habe ein mit Visual Studio 1.51 unter Windows 3.11 entwickeltes Prgramm, das aus einer Exe (MFC) und mehreren Dlls besteht. Ich soll das Programm nun unter Windows 98 zum Laufen bringen, entwickelt werden soll mit dem Visual Studio 6.0. Entwicklungsumgebung ist unter XP installiert.
Jetzt hab ich mehrfach gelesen, dass ich aus einer 32-Bit-Anwendung, wie sie VS 6 erzeugt, keine 16 Bit dlls aufrufen kann, außer auf dem Zielsystem Windows 98 mittels Flat Thunking. Sourcen habe ich nämlich nicht zu allen Dlls.
Aber das Programm an sich, wie ich es unter 3.11 kompiliert habe, läuft sogar unter XP. Und da bin ich jetzt doch etwas verwirrt. Denn mein einziges Problem liegt jetzt doch wohl darin, dass ich das Programm irgendwie zum kompilieren bringen muss. Allerdings sind die Libraries zu den Dlls in einem wohl unbekannten Format, einbinden ist also nicht. Kann mir vll einer helfen, wie ich am besten vorgehen soll?
-
Wenn du die DLL's nicht selbst unter Win32 kompilieren kannst, kannst du sie auch nicht in dein Programm einbinden. Da müsste der Prozessor innerhalb eines Prozesses 2 Speicherbreiten zulassen
geht nicht.
-
Du könntest ein 16-Bit Programm schreiben welches dann mittel Inter-Prozess-Kommunikation mit deinem 32-Bit Programm kommuniziert. Das 16-Bit Programm kann dann Deine 16-Bit DLLs laden.
Aber ich rate: Lass es bleiben. Besorg Dir den Code oder schreib es neu.
Spätestens beim Umstieg auf 64-Bit wird dies nicht mehr unterstützt.
-
Flotti schrieb:
Aber das Programm an sich, wie ich es unter 3.11 kompiliert habe, läuft sogar unter XP. Und da bin ich jetzt doch etwas verwirrt.
Das Programm läuft nicht unter XP. Es läuft in einer 16-bit-Umgebung, die die NTVDM bereitstellt (emuliert). WOW (WindowsOnWindows) nennt sich das.
Jochen Kalmbach schrieb:
Spätestens beim Umstieg auf 64-Bit wird dies nicht mehr unterstützt.
Warum sollen 16-bit-Programme nicht mehr unterstützt werden ?
Ich vermute mal, dass die NTVDM als 64-bit-Version auch unter 64-bit-Prozessoren eine 16-bit-Umgebung schaffen kann.
-
merker schrieb:
Ich vermute mal, dass die NTVDM als 64-bit-Version auch unter 64-bit-Prozessoren eine 16-bit-Umgebung schaffen kann.
Sie könnte es vielleicht schon, aber Microsoft hat diesen Zopf AFAIK abgeschnitten. 64-Bit-Windows unterstützt 16-Bit-Anwendungen nicht mehr.
-
merker schrieb:
Jochen Kalmbach schrieb:
Spätestens beim Umstieg auf 64-Bit wird dies nicht mehr unterstützt.
Warum sollen 16-bit-Programme nicht mehr unterstützt werden ?
Warum!? Ganz einfach: MS hat das so entschieden. (Punkt)
-
Ok, dann dank ich mal für die Antworten.