Seite 1 von 1

Schwierigkeiten mit 32/64-Bit Libraries

Verfasst: 09.10.2013 12:25
von Piwo
Hi alle zusammen,

Um es kurz zu erklären: ich habe ein Programm welches diverse verschiedene Bibliotheken öffnet und verarbeitet, das ist soweit auch kein Problem. Problematisch ist jedoch folgendes:
Ich habe ein 64-Bit Betriebssystem und daher haben die installierten Programme natürlich auch entsprehcende Bibliotheken (32-Bit Anwendungen zum Beispiel haben 32-Bit kompilierte .dll's und 64er halt 64-Bit .dll's)
Der Befehl OpenLibrary() in meinem Code funktioniert folglich auch ausschließlich mit 64er-dll's und wirft bei 32ern einen Fehler auf. Wenn ich einen 32er-compiler nutze ist es umgekehrt.

Meine Frage ist nun folgende:
Gibt es eine möglichkeit mit der ich in meinem Programm sowohl 32 als auch 64 dll's öffnen und verarbeiten kann oder ist hier die einzige Lösung das Programm einfach in beiden Versionen zu kompilieren?

Danke im vorraus :D

Re: Schwierigkeiten mit 32/64-Bit Libraries

Verfasst: 09.10.2013 13:05
von _JON_
Nein, so was geht nicht.
Eine Dll muss immer die gleiche Architektur habe wie das Programm das darauf zugreift.

Re: Schwierigkeiten mit 32/64-Bit Libraries

Verfasst: 09.10.2013 14:42
von Thorium
Was genau meinst du mit "verarbeiten"?
Möchtest du Prozeduren aus der DLL ausführen oder möchtest du nur schauen was für Prozeduren drinnen sind?

Zum Ausführen benötigst du einen 32bit Prozess für 32bit DLL's. Du kannst also eine zusätzliche 32bt .exe mitliefern, welche die DLL's läd und mit dem 64bit Prozess komuniziert. Das ist möglich. Ob das sinnvoll ist hängt von deinem Vorhaben ab.

Vieleicht reicht es dir auch schon auf eine 64bit Version deines Programms zu verzichten.