[comp.windows.ms.programmer] 2.11 DLL --> 3.x

darcy@druid.uucp (D'Arcy J.M. Cain) (11/02/90)

I have a DLL written for Windows 2.11 which my client would like to
convert to Windows 3.  Before I shell out the bucks for the new SDK
does anyone have any advice, suggestions, anecdotes about making this
sort of move?  I would like to get some sort of feel for what I am up
against before I commit to this.

Thanks.

-- 
D'Arcy J.M. Cain (darcy@druid)     |
D'Arcy Cain Consulting             |   I support gun control.
West Hill, Ontario, Canada         |   Let's start with the government!
+ 416 281 6094                     |

risto@tuura.UUCP (Risto Lankinen) (11/02/90)

darcy@druid.uucp (D'Arcy J.M. Cain) writes:

>>from: darcy@druid.uucp (D'Arcy J.M. Cain)

>I have a DLL written for Windows 2.11 which my client would like to
>convert to Windows 3.  Before I shell out the bucks for the new SDK
>does anyone have any advice, suggestions, anecdotes about making this
>sort of move?  I would like to get some sort of feel for what I am up
>against before I commit to this.

Hi!

The DLL's written for Windows 2.11 work fine in 3.00 , provided that how
they manage memory is confident to the rules set by protected mode.  This
means no segment arithmetic and sucha thingz ...

Given that, the existing DLL may even be able to directly put to work in 
Windows 3 by just MARKing it with the utility in the Win 3 SDK .  There
are enhancements, though, in the new version, most notable of which is the
introduction of WEP ('Windows Exit Point'), an exported procedure which
*should* be included in the library, althoug one obviously isn't absolutely
necessary, because old DLL's do indeed work in new Win.  The WEP is used to
release/destroy resources gotten/created in the DLL initialization, and
without one, the DLL nor its data segment/-s may (will??) not be discarded
even had the application already finished using it.  This will slowly waste
up more or less of memory.

An other new feature are DLL-specific libraries ?DLLC?W.LIB and ?NOCRTD.LIB
which replace the separate 'Windows-C' -libraries for linking DLL's (the
SDK no longer reconstructs the C compiler's libraries, so these are used
in place when your linker requests for a C library which may be referred to
by the compiled object file).  The ?NOCRTD.LIB:s are provided if you don't
need the C run-time functions at all.  They exclude the DOS's C run-time
initialization routines making the .EXE:s somewhat smaller.  There's also
a 'standard' LIBENTRY.OBJ, so MASM is no longer required to make DLL's.

Terveisin: Risto Lankinen
-- 
Risto Lankinen / product specialist ***************************************
Nokia Data Systems, Technology Dept *  2                              2   *
THIS SPACE INTENTIONALLY LEFT BLANK * 2 -1 is PRIME!  Now working on 2 +1 *
replies: risto@yj.data.nokia.fi     ***************************************