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

Insufficient Memory for this operation.

650 views
Skip to first unread message

Adam H.

unread,
May 3, 2000, 3:00:00 AM5/3/00
to
Hi,

I have a project in which I have a clientdataset with nested tables. I can
activate the data on the server fine, as well as load and save locally,
however
if I try to call a CDS.refresh I receive the edbclient error:

'Insufficient Memory for this operation'.

This seems to be called from the client application, and not the server.
(I was running the server through the IDE, and did not receive an
exception).
However, to be on the safe side, I upped the memsize and sharedmem on the
servers BDE to 64 and 8192 respectively.

I'm running dbclient.dll 5.0.1.32 and stdvcl40.dll 4.0.0.0 on a NT server,
with 128meg and Service Pack 6a.

This happens even when I have only 1 record in the table. (When I set
packetrecords to 1)

Thanks

Adam

Dwight Muhlbeier

unread,
May 3, 2000, 3:00:00 AM5/3/00
to
Do you have poCascadeDeletes or poCascadeUpdates enabled on the server? I
have received similar problems with these set...

"Adam H." <ahair@nospam_netconnect.com.au> wrote in message
news:8eofsb$ec...@bornews.borland.com...

Adam H.

unread,
May 4, 2000, 3:00:00 AM5/4/00
to
A few more things I've found...

On my formcreate event, I create my datamodule, and activate all the CDS's.
This works fine, until
I call the refresh from within the formcreate procedure too.

However - If I place a separate button on the screen, and attached the
CDS.refresh to the button,
and have the user press the button to call the refresh command during
runtime, it refreshes fine. It
appears that this error is only happening on the formcreate.

I've tried moving just the refresh command to onformactivate, but still have
the same problem.
My problem is that I want the application to refresh automatically on load,
and not have to have
the user press a button for it.

Does anyone know why it is occurring only on the formcreate?

Adam H.

unread,
May 5, 2000, 3:00:00 AM5/5/00
to

Dwight Muhlbeier <dwight.m...@home.com> wrote in message
news:8eqrg6$3b...@bornews.borland.com...

> Do you have poCascadeDeletes or poCascadeUpdates enabled on the server? I
> have received similar problems with these set...

I do use these, and I use them alot. Is this a bug that can be fixed, or am
I going to
have to make do without them?

Adam

Adam H.

unread,
May 5, 2000, 3:00:00 AM5/5/00
to
Hi (again)...

These don't seem to make any difference anyway, but I have traced it to be a
problem with nested tables.

Maybe I'm doing something in the wrong order, so I'll explain step by step
what I've got and what I do. Hopefully someone will point out that I am
doing something wrong...

On the Server, I have 2 TTables, linked as a master and a detail table. I
attach a provider to the master table, and
export the master table from the server application.

On the Client, I have one ClientDataSet component, and one DCom connection.
(Or socket, it makes no difference).

On the Client I call:

CDS.active := true;
CDS.refresh; <- THIS ONE WORKS FINE!
CDS.savetofile('myfile.cds');
CDS.active := false;

CDS.LoadFromFile('myfile.cds');
CDS.Active := true;
CDS.Refresh; <- THIS CAUSES THE INSUFFICIENT MEMORY PROBLEM.

However, if I delete the linked table on the server application, this all
works fine.
Is the above way the correct way to set up a multi-tier application with
master/detail relationships?

Any help is really appreciated at the moment, I've wasted almost the whole
week on this darn problem,
and getting nowhere fast... :-(

Adam

Jim Poe

unread,
May 5, 2000, 3:00:00 AM5/5/00
to
You might try a Close/Open instead of Refresh.

Adam H.

unread,
May 8, 2000, 3:00:00 AM5/8/00
to
Hi Jim,

Thanks for your reply...

A Close/Open will do the trick, however I have my application set up so
packet records = 1.
The user will choose the selected records he/she wants to work on. By
Close/Opening the
CDS, they loose al those records.

I suppose I can manually store the key information of those records, and
re-request those
records after the open, but I shouldn't have to. The refresh command should
work, and I'm
worried that if I don't figure this out, sooner or later it will turn around
and bite me in the
butt again...

Has anyone else had this problem before (even if they couldn't get it
fixed). Please... I'm despirate to know
at the moment if this is a bug, if it's my application, anything....

Adam

Jim Poe <jp...@fulcrumit.com> wrote in message
news:8eukp9$bq...@bornews.borland.com...

Tal Olier

unread,
May 26, 2000, 3:00:00 AM5/26/00
to
The problem is that you have to configure your BDE to know how to use all
the 128Mb that you've put on this machine.

You should do it by configuring two parameters on your machine, you should:

Go to your BDE -> Configuration -> INIT
Change the MEMSIZE and SHAREDMEMSIZE to greater values, this should solve
the problem.

Tal Olier.
In case of any question related to this matter: mailto:ta...@rad.co.il

Adam H.

unread,
May 30, 2000, 3:00:00 AM5/30/00
to
What would be the maximum setting you would suggest for NT with 128mb?

TIA

Adam


Tal Olier <ta...@rad.co.il> wrote in message
news:8gm78v$bf...@bornews.borland.com...

Dan Miser (TeamB)

unread,
May 31, 2000, 3:00:00 AM5/31/00
to
Here's a link to some BDE configuration guidelines (watch for word-wrap):
http://www.mers.com/cgi-bin/mer.exe/EXECSEARCH?pageno=1&searchtext=&grouptex
t=&linktype=viewmsg&msgno=1523&boardno=1950
--
Dan Miser
www.distribucon.com

Adam H. <ahair@nospam_netconnect.com.au> wrote in message

news:8gvfbg$49...@bornews.borland.com...

Adam H.

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
Thanks Dan,

It would appear as though I can certainly bump up the value(s) a little...

Adam

Dan Miser (TeamB) <dmi...@execpc.com> wrote in message
news:3935cc85@dnews...

0 new messages