Hallo!
Zitat von
delphifan2004:
Dann dürften auch 16 Bit Dlls aus Borland-Pascal-Zeiten nicht mehr ladbar sein, da dannn das nötige
API fehlt. Hab allerdings in Delphi Funktionen wie LoadLibrary16... gefunden. Wenn ich deinen Einwurf, tommie-lie, richtig verstanden habe, gibt es diese Funktionen dann nicht mehr.
Ich habe zwar noch keinen 64 Bit Rechner, aber bei allem, was ich über erfahren und gelesen habe, ist das gsnau so.
Zitat von
delphifan2004:
Die
Dll ist doch aber dann immer noch 16 Bittig, zumindest das Ladeformat? Die Verwendung solch einer
Dll wird doch sicher dann problematisch? In ihr werden zwar dann 32 Bit Funktionen aufgerufen, es gibt inzwischen auch eine 32 Bit Version des DOS Extenders von Borland Pascal, aber der BPascal Compiler erzeugt doch trotzdemnoch 16 Bit Code (16 Bit Aufrufadressen auch in
Dll)? Da liege ich doch sicher richtig in der Annahme, das Borland Pascal DLLs, auch wenn sie nur 32 Bit-Funktionen aufrufen und den 32 Bittigen DOS-Extender voraussetzen, wie dann auch das übrige Programm, das die
Dll verwendet, auf keinen Fall auf 64 Bit Rechnern im 32 Bit Modus laufen. Und wenn ich diese Borland Pascal
Dll zusammen mit Delphi verwenden wollte, steht das Problem 16 Bittiger Aufrufadressen im Raum und außerdem die fehlenden Ladefunktionen für die 16 Bittige
Dll. (LoadLibrary16,GetProcedureAddress16,...
Ich denke mal, da liegst Du genau richtig.
Wenn Du den Quelltext von so einer
Dll hast, schreib ihn Dir so um, das Du ihn mit einem 32 Bittigen Delphi übersetzen kannst. Wenn Du den Quelltext der
Dll nicht hast, Pech gehabt!
Andere Frage, Wozu soll das gut sein, 16 Bittige 32 Bit Dlls zu verwenden?
Der theoretische Teil dieser Fragestellung düfte ja mit all diesen Antworten abgehandelt sein, aber ich sehe keinen praktischen Nutzen, 16 Bittige Dlls in einem 32 Bittigen Betriebssystem verwenden zu wollen.
DelphiSourcer