Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo - Ich sitze gerade in .net.

Mein Versuch eine DLL der Firma Inform GmbH in eine .net-C++-Konsolenanwendung mittels LoadLibrary einzubinden, endet inzwischen im Fehlercode 193.

"Die Anwendung oder DLL <<meine DLL-Datei>> ist keine gültige Windows-Datei."

Ist das der StandardFehler, wenn ich versuche unter Windows 2000 in einer 32-Bit-Anwendung eine 16-Bit-DLL zu binden?


HMODULE hLibrary = LoadLibraryEx("Ftrcu.dll", NULL, DONT_RESOLVE_DLL_REFERENCES);

... oder ...

HMODULE hLibrary = LoadLibrary("Ftrcu.dll");

ErrCode: 193

%1 is not a valid Win32 application.

ERROR_BAD_EXE_FORMAT

Die Datei findet er soweit, und die DLL wurde mir mit proffesioneller Software als Schnittstelle geliefert. Sie ist also dafür da, daß ich mir da Funktionen exportiere und diese nutze.

Du kannst eine 16Bit-DLL nicht einfach so laden. Mit einem Vorgang, genannt "Flat Thunking" kannst du aus einer 32Bit-Umgebung auf 16Bit-DLLs zugreifen. Der Nachteil daran scheint zu sein, dass du einen 16Bit-Compiler brauchst.

Allerdings wird hier, unter der Überschrift "Using the 16bit cards.dll library", ein alternativer Weg beschrieben.

Ich bin aufgeregt wie ein kleines Schulmädchen und werde in den nächsten Tagen den Hinweisen aus den Quellcodes nachgehen. Über Gelingen und Versagen werde ich hier berichten.

Laß mich dich, Klotzkopp, dennoch jetzt schon als meinen persönlichen C++&Stuff-König krönen!

:bimei :OD

Ich habe nun verschiedene weitere Seiten zum Thema Flat Thunk gelesen. Viele habe da ganz andere Lösungen. Allerdings scheint Flat Thunk nur was für Windows'95 ('98 und me) zu sein. Bei NT soll es nicht funktionieren.

Da es bei 2000 auch nicht geht, hier meine Frage - hat 2000 einen anderen Mechanismus 16-BitDLLs einzubinden?

Wenn nein, wuß ich das wohl mit den ThunkCompiler machen. Schließlich soll das Produkt am Ende auf beiden Oberflächen laufen ...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.