Announcement

Collapse
No announcement yet.

16 Bit Dll in 32 Bit Umgebung unter Windows NT benutzen

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

  • 16 Bit Dll in 32 Bit Umgebung unter Windows NT benutzen

    Ist es generell möglich, eine 16 Bit Dll innerhalb eines 32 Bit Programms<br>
    unter Windows NT anzusprechen?<br>
    Als Programmierumgebung benutze ich Delphi 5.0.<br>
    Bitte helft mir, da schon zahlreiche Versuche geschreitert sind!!<br>

  • #2
    Such mal im Forum nach dem Begriff <b>Thunking</b>.

    Diese Frage wurde schon mal gestellt und auch schon beantwortet

    Comment


    • #3
      Unter dem Begriff "Thunking" hab ich schon was gefunden, auch aus<br>
      Quellen, aber dort wird immer nur von Win95 oder Win98 gesprochen?<br>
      funktioniert "Thunking" wirklich auch unter Windows NT?

      Danke im Vorau

      Comment


      • #4
        Hallo,

        im Platform SDK ist dazu folgendes zu finden: "<i>You cannot directly mix 16-bit code and 32-bit code in the same process. You can use IPC mechanisms, such as DDE, RPC, OLE, named pipes, and WM_COPYDATA, to provide communication between 16-bit code and 32-bit code. However, there are occasions when it is necessary to call functions in Win32-based DLLs (including the system DLLs) from a 16-bit application. Generic thunks provide a mechanism for 16-bit applications to call functions in Win32-based DLLs. </i>"

        Windows 95 und Windows 98 unterstützen mit <b>Flat Thunks</b> einen anderen Weg, der auch den Aufruf von 16-Bit-Modulen aus 32-Bit-Anwendungen unterstüzt: "<i>Windows 95/98 implements a thunking model called flat thunks. Flat thunks allow 32-bit code to call functions implemented in 16-bit code. They also allow 16-bit code to call functions implemented in 32-bit code. Windows NT/Windows 2000 does not support flat thunks. Therefore, if you use flat thunks, your application cannot run on Windows NT/Windows 2000 unless you isolate your thunking code into platform-specific DLLs.

        Windows NT/Windows 2000 implements a thunking model called generic thunks, which allow 16-bit code to call functions implemented in 32-bit code. Although Windows 95/98 supports generic thunks, it does not support the underlying process model used by Windows NT/Windows 2000. This means that generic thunking code might not work identically under Windows 95/98 and Windows NT/Windows 2000. For more information, see Generic Thunks.

        The Platform Software Development Kit (SDK) includes a sample application that illustrates the use of the thunk compiler. This application, APP32.EXE, simply passes basic types from the 32-bit side to the 16-bit side of the thunk. This sample is an important supplement to the information in this overview</i>"

        Comment

        Working...
        X