🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
2 messages
2 total messages Started by Carsten Wolters Sun, 14 Jan 1996 09:56
BC++ 4.5: Wie: 16 Bit-DLL in Win32 Anwendung?
#1265
Author: Carsten Wolters
Date: Sun, 14 Jan 1996 09:56
22 lines
1207 bytes
Hallo,

ich habe hier ein kleines Problem mit BC4.52. Ich möchte vorhandene 
16-Bit DLL's aus einer früheren Win16 Anwendung weiterbenutzen. Dazu 
lade ich mit TModule("name") die DLL. Unter Win31 ergibt sich kein 
Problem. Auch unter Win32s ist alles klar. Doch wenn ich jetzt das 
Programm unter Win95 starte, so bekomme ich eine 
TXInvalidModule-Exception. Warum? 

Kann ich, und wenn wie, alte 16-Bit DLL's unter Win95 und NT 
weiterbenutzen ohne sie neuzukompilieren oder darf ich in TModule 
ausschliesslich WIN32-DLL's angeben?

Wer kennt die Antwort?

Danke,
Carsten
 
---------------------------------------------------
- Carsten Wolters
- e-mail: jedicghg@cs.tu-berlin.de
- Hompage : http://www.cs.tu-berlin.de/~jedicghg/
Re: BC++ 4.5: Wie: 16 Bit-DLL in Win32 Anwendung?
#1308
Author: Michael Neuhaus
Date: Wed, 17 Jan 1996 07:23
35 lines
1803 bytes
Carsten Wolters (jedicghg@cs.tu-berlin.de) wrote:
: Hallo,

: ich habe hier ein kleines Problem mit BC4.52. Ich möchte vorhandene 
: 16-Bit DLL's aus einer früheren Win16 Anwendung weiterbenutzen. Dazu 
: lade ich mit TModule("name") die DLL. Unter Win31 ergibt sich kein 
: Problem. Auch unter Win32s ist alles klar. Doch wenn ich jetzt das 
: Programm unter Win95 starte, so bekomme ich eine 
: TXInvalidModule-Exception. Warum? 

: Kann ich, und wenn wie, alte 16-Bit DLL's unter Win95 und NT 
: weiterbenutzen ohne sie neuzukompilieren oder darf ich in TModule 
: ausschliesslich WIN32-DLL's angeben?

: Wer kennt die Antwort?

Moin Carsten,

wie sagt Radio Eriwan so schoen: im Prinzip ja. Also, mit 16-bit Programmen
macht es kein Problem. Bei 32-bit Programmen, die eine 16-bit DLL aufrufen,
ist es schwieriger und funktioniert nur unter Win95, unter NT geht es definitiv
nicht.

Das Ganze nennt sich Thunking. Du brauchst 2 Thunk-DLL's, eine auf der 16-bit
Seite und eine auf der 32-bit Seite. Dann brauchst Du noch ein Stub, das
die Verbindung herstellt...

Mein Rat: vergiss es und compiliere neu fuer 32-bit. Der Aufwand lohnt sich
einfach nicht.

Tschues
               Michael

PS: Das es unter Windows 3.1 mit Win32s geht ist kein Wunder, Win32s macht
naemlich genau dieses Thunking.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads