1. What are Win2000 Diferance

--part1_110.19259cd5.2ac80cb2_boundary

Hi All,
What do I need to be aware of for my progs to run on win2000 and I can only 
test on win98se.

I have found that result variables need to be atoms as integers will cause 
crashes.

What else?

Thanks
Tony

--part1_110.19259cd5.2ac80cb2_boundary
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

<HTML><FONT FACE=arial,helvetica><FONT  SIZE=2 FAMILY="SANSSERIF" FACE="Arial"
LANG="0">Hi All,<BR>
What do I need to be aware of for my progs to run on win2000 and I can only test
on win98se.<BR>
<BR>
I have found that result variables need to be atoms as integers will cause
crashes.<BR>
<BR>
What else?<BR>
<BR>
Thanks<BR>

--part1_110.19259cd5.2ac80cb2_boundary--

new topic     » topic index » view message » categorize

2. Re: What are Win2000 Diferance

Ron Tarrant wrote:

> Which results are you guys talking about? I've never run into this
> (at least, if I did, I didn't recognize it).

Under Win95, most pointers returned in Win32Lib tended to be low memory 
addresses. So if you wrote a code like:

   int myVar
   myVar = getSomeWin32Pointer()

under Win95, it would tend to work, because the addresses returned were small 
enough that they would fit into an int. It happened to me quite often: I'd 
test a program under Win95 and it would run fine, but under WinNT, it would 
crash.

The error under WinNT would be attempting to store a large address into an 
int. That's because WinNT (and WinMe, Win2000 and even Wine under Linux) 
would tend to hand back pointer addresses that were too large to store in an 
int. The proper way to code the example would have been to use an atom 
instead of an int:

   atom myVar

So basically, it was *always* an error to use an int, but because Win95 
tended to parcel out lower memory addresses, it was less likely to crash 
under Win95.

-- David Cuny

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

3. Re: What are Win2000 Diferance

{{{ On Mon, 30 Sep 2002 17:15:01 -0700, David Cuny <dcuny at LANSET.COM> wrote:

Under Win95, most pointers returned in Win32Lib tended to be low memory ...
under Win95, it would tend to work, because the addresses returned were small
, but under WinNT, it would

Sounds to me more like a combination of facts: 1) You have 1GB or more of memory. 2) You are running an operating system which is able to use it (I believe win95 won't play with more than 256MB - it just ignores any extra memory the machine has).

Pete

new topic     » goto parent     » topic index » view message » categorize

4. Re: What are Win2000 Diferance

Pete Lomax writes:
> David Cuny writes:
> > under Win95, it would tend to work, 
> > because the addresses returned were small, 
> > but under WinNT, it would crash
>
> Sounds to me more like a combination of facts: 
> 1) You have 1GB or more of memory. 2) You are 
> running an operating system which is able to use
> it (I believe win95 won't play with more than 256MB 
> - it just ignores any extra memory the machine has).

Don't confuse "virtual" addresses with "physical" addresses.
Programs have to deal with virtual addresses that are assigned
by the operating system. They are not in any way restricted
by the amount of memory on your machine, or by the
version of Windows that you are using.

For several months after Euphoria 1.0 was released,
it would run in plain DOS only. It wouldn't run in a Windows *3.1*
DOS window. I was somewhat perplexed, but assumed it
was a problem with the DOS extender. In those days
(but not now), Euphoria assumed that an address 
over 2Gb (unsigned) would never be returned from malloc().
I eventually stumbled across the fact that this was wrong.
Even Windows 3.1, on a machine with 8 Mb of RAM, was
often allocating memory to me above the 2Gb limit.
When I redesigned things to allow for this, everything
started working in a DOS window as well as plain DOS.

So remember to use "atom" to declare anything that
might hold an address - no matter what O/S you have,
or how little memory you have. In some cases you might
be lucky, and "integer" will work. But that's just luck.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

5. Re: What are Win2000 Diferance

On Wed, 2 Oct 2002 08:58:56 -0400, Robert Craig 
<rds at RapidEuphoria.com> wrote: 
 
>Don't confuse "virtual" addresses with "physical" addresses. 
 
Yep, my bad. Sorry to all for the misinformation I just spouted. 
 
Pete

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu