Board index » off-topic » Ye olde BDE 4GB issue
Ye olde BDE 4GB issue
2006-12-13 11:13:45 AM
We're working on getting rid of the BDE here, but my users are running into
this problem enough that I've had to try to deal with it in my current
BDE-based software. I've been testing out the patch from:
have learned a few things. I thought I'd share as some of this may be
useful to others.
I was confused after reading various posts about whether or not this patch
works on Win9x machines. In my testing, it caused an immediate failure on
Win98 SE. The only solution I found was to check the user's OS and exit the
patch if they didn't have an NT-based system. This leaves me with a patch
that works for WinNT machines, but does nothing for Win9x machines. I swear
I saw a post from the author of the patch somewhere saying he had fixed it
for Win9x, but I couldn't find a version that worked on Win9x.
I have also seen confusion about whether the problem happens with 4GB or
2GB. In my testing it seems that GetDiskFreeSpace on Win98 (so I assume
Win9x in general) can see a max of 2GB of free space. On WinXP/2003 it
seems to see a max of 4GB. So I'd assume that NT-based machines will see
the problem in 4GB increments, while 9x machines would see the problem at
As reported, my testing has found that GetDiskFreeSpace won't return the
free space when given a UNC path on Win98 (and I assume all Win9x) machines.
There is an upside to this though. When GetDiskFreeSpace isn't able to
return a value, then the BDE seems to assume it has enough free space. So,
if you're using UNC paths to your data with the BDE on Win9x, then you can
avoid the 2GB/4GB issue. (Although the BDE also won't know when you truly
to run out of free space).
I'm implementing this patch (modified to check that the OS so it only runs
on WinNT-based machines). I'm lucky that basically all of my users have my
Paradox tables on a file server rather than their desktop. My code already
internally converts any mapped-drive path to a UNC path before using it, so
I won't see the 2/4GB issue on Win9x machines. And the modified patch will
take care of the WinNT-based users.