Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What is optimum BDE setting for SHAREDMEMLOCATION?

3,144 views
Skip to first unread message

Ron Boylan

unread,
Apr 21, 2004, 5:33:29 PM4/21/04
to
I keep receiving error $2501 after starting successive BDE apps -

For performance reasons, we have increased our SHAREDMEMSIZE to 30000. This
apparently causes our application to fail when starting successive BDE
applications - all will try to initialize the BDE with the above settings -
is there any deviation to the SHAREDMEMLOCATION? Can I use a "high" memory
address that is a different location than below?

Also - does each dbiinit() in the same application try to grab 30000 if I
have SHAREDMEMSIZE at 30000?

The help documentation for BDEADMIN states:

SHAREDMEMLOCATION Preferred address of shared memory manager. The shared
memory manager and shared buffer manager load at a preferred address. If
this address is used, the system can find a suitable address (first process
only). If this address conflicts with another application, you might want to
modify it. If the shared managers cannot be loaded into the default, or
specified memory address, one attempt to allow the operating system to find
a memory address is made. If a memory address if specified outside the
boundry (below), the default is used.

Default (for Windows 95): 0xEBDE0000
Minimum Value (for Windows 95): 0x90000000
Maximum Value (for Windows 95): 0xFFFF0000

Default (for Windows NT): 0x6BDE0000
Minimum Value (for Windows NT): 0x10000000
Maximum Value (for Windows NT): 0x7F000000

The range setting for SHAREDMEMLOCATION is 9000 to FFFF for Windows 95 and
1000 to 7F00 for Windows NT. Only the upper word is used to set
SHAREDMEMLOCATION.

SHAREDMEMSIZE Maximum amount of memory BDE will use for shared resources, in
kilobytes. Default: 2048 KB. Minimum: 2048 KB. If a value below 2048 is
specified, 2048 will be used. File handles, drivers, and system, client and
table objects are shared resources and SHAREDMEMSIZE should be increased
when using many of these objects.

Ron


Brian Bushay TeamB

unread,
Apr 21, 2004, 10:25:27 PM4/21/04
to

>I keep receiving error $2501 after starting successive BDE apps -
>
>For performance reasons, we have increased our SHAREDMEMSIZE to 30000. This
>apparently causes our application to fail when starting successive BDE
>applications - all will try to initialize the BDE with the above settings -
>is there any deviation to the SHAREDMEMLOCATION? Can I use a "high" memory
>address that is a different location than below?


You can only use the memory addresses with in the range defined help that you
have in your message. Have you tried other addresses?

this seems to be a good location for NT based operating systems with sound cards
SharedMemoryLocation : 0x5BDE

>Also - does each dbiinit() in the same application try to grab 30000 if I
>have SHAREDMEMSIZE at 30000

--
Brian Bushay (TeamB)
Bbu...@NMPLS.com

Ron Boylan

unread,
Apr 22, 2004, 9:29:44 AM4/22/04
to
I have experimented with different SharedMemorylocation settings - but is
there a consistent setting that would work for all machines? Probably not.
So how do we anticipate what works and what doesn't? My first thought would
be to write a routine that tries to allocate a block of memory (30000) at a
given location (0x5BDE)? (3000) - works for most of my machines - x5BDE did
not - do I use VirtualAlloc? LocalAlloc? GetMem? - my theory would be to
test for a memory allocation, and if it works, then pass it to the
DbiOpenCfgInfoList/DbiModifyRecord to modify the appropriate configuration
line. I just don't know how the BDE/IDAPI32 is loaded into memory, and if it
is shared between applications, and how to detect if it is already loaded .
.

Ron Boylan

"Brian Bushay TeamB" <BBu...@Nmpls.com> wrote in message
news:ibae805di5fkeilu7...@4ax.com...

Ron Boylan

unread,
Apr 22, 2004, 11:41:39 AM4/22/04
to
I searched the web and newsgroups for answers to this memory conflict
problem - all I have found is to try different SharedMemorylocation settings
in a hit and miss fashion - without really knowing what the conflict was -
is there a way of determining what the conflict is - does the BDE have
conflicts with certain sound cards, video drivers, etc?

Can the BDE development staff shed some light on this? I know that the BDE
is becoming obsolete, but there are quite a few legacy apps out there that
are mission-critical - hundreds of thousands of businesses have their
business reliant upon a legacy application that is using the BDE, of which
there is no formal support.

Ron Boylan


"Ron Boylan" <r...@nospamcaterease.com> wrote in message
news:4087...@newsgroups.borland.com...

Bill Todd (TeamB)

unread,
Apr 22, 2004, 11:59:01 AM4/22/04
to
On Thu, 22 Apr 2004 11:41:39 -0400, "Ron Boylan"
<r...@nospamcaterease.com> wrote:

>I searched the web and newsgroups for answers to this memory conflict
>problem - all I have found is to try different SharedMemorylocation settings
>in a hit and miss fashion - without really knowing what the conflict was -
>is there a way of determining what the conflict is - does the BDE have
>conflicts with certain sound cards, video drivers, etc?

The only common conflict that I am aware of is with some sound cards
on some NT/2k/XP systems. My experience is that this is fairly rare
and when encountered can be fixed by setting the SharedMemLocation to
0x5BDE with a size of 4096.

The first thing I would try, based on the information you have
provided, is to reduce the SharedMemSize to 4096 and see if the
conflict goes away. If not try changing the SharedMemLocation. If you
find a location that works then try increasing the size slowly and see
where the conflict reappears. If you are having performance problems
try setting the MaxBuffSize to 16 mb and see if that helps.

>
>Can the BDE development staff shed some light on this?

These are peer support newsgroups. If you want to talk to a support
engineer you need to call Borland tech support and open a support
incident. The BDE is still a supported product even though no
development has been done for some time and there is no R&D staff
assigned to the BDE.

--
Bill (TeamB)
(TeamB cannot respond to questions received via email)

Ron Boylan

unread,
Apr 22, 2004, 3:56:48 PM4/22/04
to
Bill -

I cannot lower my settings (I tried) without sacrificing performance (.2 -
.5 seconds a transaction)

VERSION=4.0
LOCAL SHARE=TRUE
MINBUFSIZE=4096
MAXBUFSIZE=32768
LANGDRIVER=DBWINUS0
MAXFILEHANDLES=300
SYSFLAGS=0
LOW MEMORY USAGE LIMIT=32
AUTO ODBC=FALSE
DEFAULT DRIVER=DBASE
MEMSIZE=90
SHAREDMEMSIZE=30000
SHAREDMEMLOCATION=
DATA REPOSITORY=Sample Data Dictionary
SQLQRYMODE=
MTS POOLING=FALSE

If I set SHAREDMEMLOCATION to 1000 or 0x6BDE0000, what do these values
represent? A Heap memory address? A local address? Can I check and see if
there is sufficient memory at that location?

Ron

"Bill Todd (TeamB)" <n...@no.com> wrote in message
news:qfqf8095gklurcn00...@4ax.com...

Bill Todd (TeamB)

unread,
Apr 22, 2004, 5:06:07 PM4/22/04
to
On Thu, 22 Apr 2004 15:56:48 -0400, "Ron Boylan"
<r...@nospamcaterease.com> wrote:

>If I set SHAREDMEMLOCATION to 1000 or 0x6BDE0000, what do these values
>represent? A Heap memory address? A local address?

Sorry, I don't know. I have never seen any documentation that says
specifically what the number represents. It is just a four digit hex
address.

> Can I check and see if
>there is sufficient memory at that location?

No. There is no tool for doing this.

Brian Bushay TeamB

unread,
Apr 23, 2004, 11:41:50 PM4/23/04
to
>I searched the web and newsgroups for answers to this memory conflict
>problem - all I have found is to try different SharedMemorylocation settings
>in a hit and miss fashion - without really knowing what the conflict was -
>is there a way of determining what the conflict is
Not that I know of

> does the BDE have
>conflicts with certain sound cards, video drivers, etc?
Sound cards on NT machines are a problem. You could try disabling your sound
card.

>Can the BDE development staff shed some light on this?

The is no BDE development staff any more. BDE is not being developed any more.


I know that the BDE

--
Brian Bushay (TeamB)
Bbu...@NMPLS.com

Markus Humm

unread,
Apr 26, 2004, 3:43:32 PM4/26/04
to
Hello,

you're using V4.0. Maybe this is a bit better in V5.x?
Update or so downloadable somewhere at Borland's site.
Just a wild guess...

Greetings

Markus

0 new messages