I have a report, that contains a datawindow, which itself contains a datawindow. Everything is working fine until the number of retrieved lines get's over about 1100 primary and over about 3200 retrieved nested lines. Although the task manager (I'm using Powerbuilder 7.0.3 on Windows 2000) shows me, that there is still enough free memory, the data retrieval stops and Powerbuilder (or the application which called the Retrieve() method) ends itself without any error message. That allways happens when the datawindow has allocated about 70 MB of virtual memory. (About 99% of those 70 MB are allocated during the retrieval of the nested lines.) Can you help me? Thanks in advance, Detlef
![]() |
-1 |
![]() |
That's not a high number of rows at all. You can try using the new feature in 703 to change memory management: dw_1.object.datawindow.storagepagesize='large' -- Terry Dykstra (TeamSybase) Please state PB / OS / DB versions in your post. MySybase http://my.sybase.com/mysybase Search Deja: http://www.pfcguide.com/_newsgroups/search.asp "Detlef Keil" <Detlef.Keil@MAPWARE.de> wrote in message news:En8UYZA#AHA.261@forums.sybase.com... > I have a report, that contains a datawindow, which itself contains a > datawindow. Everything is working fine until the number of retrieved lines > get's over about 1100 primary and over about 3200 retrieved nested lines. > Although the task manager (I'm using Powerbuilder 7.0.3 on Windows 2000) > shows me, that there is still enough free memory, the data retrieval stops > and Powerbuilder (or the application which called the Retrieve() method) > ends itself without any error message. That allways happens when the > datawindow has allocated about 70 MB of virtual memory. (About 99% of those > 70 MB are allocated during the retrieval of the nested lines.) Can you help > me? > > Thanks in advance, > Detlef > > >
![]() |
-1 |
![]() |
Hi Detlef, i hav PB6.5, can you use "SAVE ROWS TO DISK" for the two datawindows, then the memory shoud not be the problem. Willi On Mon, 18 Jun 2001 16:30:36 +0200, in powersoft.public.powerbuilder.datawindow Detlef Keil <Detlef.Keil@MAPWARE.de> wrote: >I have a report, that contains a datawindow, which itself contains a >datawindow. Everything is working fine until the number of retrieved lines >get's over about 1100 primary and over about 3200 retrieved nested lines. >Although the task manager (I'm using Powerbuilder 7.0.3 on Windows 2000) >shows me, that there is still enough free memory, the data retrieval stops >and Powerbuilder (or the application which called the Retrieve() method) >ends itself without any error message. That allways happens when the >datawindow has allocated about 70 MB of virtual memory. (About 99% of those >70 MB are allocated during the retrieval of the nested lines.) Can you help >me? > >Thanks in advance, >Detlef > > > ---== Posted via the PFCGuide Web Newsreader ==--- http://www.pfcguide.com/_newsgroups/group_list.asp
![]() |
1 |
![]() |
Sorry, but this didn't change anything. I explored this problem further by adding the following Lines to the DataWindow control's RetrieveRow-Event: int liFile lifile = FileOpen( 'debug.log', LineMode!, Write!, LockWrite!) FileWrite( liFile, "Retrieved Row " + String( row ) + ". Memory: " + String( this.Object.DataWindow.Storage ) ) FileClose( liFile ) The resulting logfile contained the following Lines (I added line numbers for clearification): 1: Retrieved Row 1. Memory: 53248 2: Retrieved Row 2. Memory: 53248 3: Retrieved Row 3. Memory: 53248 .... 3179: Retrieved Row 3179. Memory: 487424 3180: Retrieved Row 3180. Memory: 487424 3181: Retrieved Row 3181. Memory: 487424 3182: Retrieved Row 0. Memory: 462848 3183: Retrieved Row 0. Memory: 462848 3184: Retrieved Row 0. Memory: 462848 .... 11948: Retrieved Row 0. Memory: 565248 11949: Retrieved Row 0. Memory: 565248 11950: Retrieved Row 0. Memory: 565248 Thus the logfile tells me, that about 0.5 MB are allocated for the DataWindow. Nevertheless, the Windows 2000 Taskmanager says, that about 70 MB are allocated during the retrieval. This amount of 70 MB is about the same when I start the retrieve in Powerbuilder 7.0.3 and when I start it in my application. I suppose that most of the the 70 MB are used for allocating DataWindow objects and the 0.5 MB are for the information I retrieved. Is there a software dependant upper bound for memory allocation in PB? Thanks a lot, Detlef P.S.: In my last post I didn't write that I'm using Adaptive Server Anywhere 7. "Terry Dykstra" <dontreply_tdykstra@cfol.ab.ca> schrieb im Newsbeitrag news:nAMjgpA#AHA.85@forums.sybase.com... > That's not a high number of rows at all. You can try using the new feature > in 703 to change memory management: > dw_1.object.datawindow.storagepagesize='large' > > -- > Terry Dykstra (TeamSybase) > Please state PB / OS / DB versions in your post. > MySybase http://my.sybase.com/mysybase > Search Deja: http://www.pfcguide.com/_newsgroups/search.asp >....
![]() |
0 |
![]() |
Hi, as you said most of memory is not used by data. Data window print preview presentation is problem (you can't turn it off, you have nested reports). There is the main memory alocated. So you should start print using PrintOpen(), Print() in smaller steps and then PrintClose(). Needs coding, but it is possible. Bye, Damir
![]() |
0 |
![]() |