Announcement

Collapse
No announcement yet.

Probleme beim Laden einer 16-Bit Dll unter D4

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme beim Laden einer 16-Bit Dll unter D4

    Hallo,

    ich habe folgendes Problem.

    In meinem Programm wird eine Datenübertragung per BTX vorgenommen. Hierzu wird eine Kommunikationssoftware von einem Drittanbieter gestartet. Da bei einer Fehlkonfiguration dieser Software "Ausnahmefehler" eher die Regel sind, soll unser Programm vor Aufruf dieser Software prüfen, ob eine ISDN Kommunikation vorliegt, und ob die CAPI20.DLL geladen werden kann.

    Obwohl die Kommunikationssoftware einwandfrei arbeiten kann, d.h. die DLL kann geladen werden, erhalt ich beim Aufruf von

    hDLL:= LoadLibrary('CAPI20.DLL');

    als Ergebniss immer 0 zurück.

    Hat irgendjemand eine Idee wieso die DLL nicht geladen werden kann?

    Gruß
    Volker Kranz

  • #2
    Nicht ganz so einfach. Du wirst es nur mit Tricks hinbekommen, eine 16-Bit-DLL mit einem 32-Bit-Programm zu laden, da zwischen der 16-Bit-Welt und der 32-Bit-Welt sich bei DLL's einiges geändert hat.

    Such mal die Einträge im Forum mit dem Begriff "Thunking". Dort wird einiges erklärt wie man evtl. trotzdem zu einem Ziel kommt!

    Evtl. tut es für Dein Problem auch, statt der 16-Bit-DLL Capi20.DLL die 32-Bit-DLL Capi2032.DLL zu laden, da vermutlich sowohl die Capi20 als auch die Capi2032-DLL auf den gleichen "Treiberstamm" der ISDN-Karte zugreift

    Comment

    Working...
    X