cancel
Showing results for 
Search instead for 
Did you mean: 

2G Memory Limit running PB12.5.1 32 bit Application

Former Member
0 Kudos

Good Day!

I have a PB 12.5.1 application in which the user is retrieving over 2G of data (yes, I know... that's not up for discussion, unfortunately). When they hit 2G of data in memory the application crashes. I have spoken to SAP about this and they say it's the 2G limit imposed by Windows' 32 bit subsystem.

Is there a way to avoid this limitation in a 32 bit application? The OS is Windows 7 64 bit and there is plenty of RAM and Virtual Memory. I have tried Rows To Disk and Object.DataWindow.StoragePageSize='LARGE'. Neither worked.

Is there a Windows setting or some obscure PB property I could use? Basically, I need my application to be able to use as much RAM as is available.

Thanks,

Tom

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

An option might be to try to isolate the parts that require all that memory in a separate application and turn it into a .net WPF application.

Since 12.5.1 there is an option to deploy as a 64-bit .net application; it should be in the new features guide of that version. There are limitations though but you could check it out.

Ben

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Tom;

  If its textual (string) data its even worse because newer versions of PB are Unicode (aka double-byte) character oriented. So the upper string limit is actually only 1G.

  Suggestion: "chunk" the data in a DB table and use a DWO with "Rows to disk" property set to get an unlimited set of datum

Regards ... Chris

former_member190719
Active Contributor
0 Kudos

You can use up to 3GB in a 32 bit application if the LARGEADDRESSAWARE flag is set on the executable.

I've used a third party utility (4GB Patch Tool), to set that flag for other programs (e.g., Eclipse, Flash Builder).  I haven't tried it on a PowerBuilder generated executable though.