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
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
"Brian Bushay TeamB" <BBu...@Nmpls.com> wrote in message
news:ibae805di5fkeilu7...@4ax.com...
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...
>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)
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...
>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.
>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
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