Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.359 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Laden einer alten 16 Bit dll unter WinXP?

  Alt 27. Nov 2013, 21:55
Warum reicht das nicht? Wenn ich da die Adressen korrekt von 32Bit Flat in Seg:Ofs umrechne und dann die Funktion aufrufe? Oder braucht da zwingend den 16 Bit Layer, wie für DOS Programme die DOSBox?
Es hat einen Grund warum 64-Bit Versionen von Windows keine 16-Bit Programme mehr ausführen können. Eben weil die nicht so direkt ausgeführt werden können. Heutige CPUs kennen einen 32-Bit und einen 64-Bit Mode, aber keinen 16-Bit Mode. Deshalb müsstest du nicht nur die Einsprungadressen suchen, sondern auch jeden einzelnen Befehl nach 32-Bit übersetzen, ausführen und das Ergebnis zurück übersetzen. Im Grunde ist das dann ein Interpreter, der die Befehle der Reihe nach ausführt. Das ist ein hoher Aufwand.

Deshalb wäre ein 16-Bit Wrapper am sinnvollsten, aber 64-Bit Betriebssysteme wären dann tabu.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat