[comp.windows.ms.programmer] Large model programs in Windows 3.0

tom@mims-iris.waterloo.edu (Tom Haapanen) (01/30/91)

Everywhere I look, I'm told that large-model programs are a big NO-NO in
Windows.  The best explanation I found was in Petzold's book (2nd ed.) which
explains that in large model programs, all the data segments must be fixed.
But if the program is limited to protected mode (standard and 386 enhanced),
fixed segments can be moved by altering the selector table, so that shouldn't
present a problem, should it?

I also understand that a program is limited to a single instance of itself.
This is also acceptable to me, but can someone explain *why* it is so?

We really need to use large model, and I'd like to know if there are going
to be severe problems doing so even if we refuse to run in real mode.

Any help is appreciated, and the answers will also find their way to the FAQ.

[ \tom haapanen --- university of waterloo --- tom@mims-iris.waterloo.edu ]
[ "i don't even know what street canada is on"               -- al capone ]

johnc@plxsun.uucp (John Ciccarelli) (01/31/91)

In article <1991Jan30.003343.23383@watserv1.waterloo.edu> tom@mims-iris.waterloo.edu (Tom Haapanen) writes:

> I ...understand that a (large model) program is limited to a 
> single instance ... can someone explain *why* it is so?

I haven't looked at this issue in Win3, but in previous releases the 
"default DS" of every instance of a large-model app had the same
physical address!  We verified this with Heapwalk.

John Ciccarelli
Plexus Software, 5200 Great America Pkwy, Suite 200, Santa Clara CA 95054
email: ...sun!plx!johnc,  voice: 408-982-4842,  fax: 408-727-4864

slh@wolf.cs.washington.edu (Scott Heyano) (02/05/91)

In article <1991Jan31.093651.9293@world.std.com> goodearl@world.std.com (Robert Goodearl) writes:
|In article <2560@plx.UUCP> sun!plx!johnc (John Ciccarelli) writes:
|>In article <1991Jan30.003343.23383@watserv1.waterloo.edu> tom@mims-iris.waterloo.edu (Tom Haapanen) writes:
|>
|>> I ...understand that a (large model) program is limited to a 
|>> single instance ... can someone explain *why* it is so?
|>
|>I haven't looked at this issue in Win3, but in previous releases the 
|>"default DS" of every instance of a large-model app had the same
|>physical address!  We verified this with Heapwalk.
|>
|Actually, large model in Windows 3.0 is limited to a single instance because
|with certain memory references
	Limited in the sense that you shouldn't try to run two instances,
	or you can't run two instances
	(i.e. windows will detect the situation and not allow the second
	instance)?