Skip to Content
Former Member
Jan 11, 2017 at 08:54 PM

PB 10.5 GetItem returns -1


I have a PB 10.5 application running on Windows 7. We have one client that requires a large amount of data to be loaded into memory (approx. 2.5 GB) when logging into the application. I have set the /largeaddressaware flag , so the application loads it without issue. However, I have 2 issues with one of our data windows that uses a TreeView object.

1. When selecting/expanding an entry in the tree, the call to "GetItem" randomly returns -1.

e.g. ll_return = This.GetItem(handle, ltvi_current) //randomly returns -1

2. When trying to delete all child items under the currently selected treeview item, the call to "FindItem" randomly returns 1 when it should return -1.This causes and endless loop and the application has to be killed.

ll_handle = tv_directory.FindItem(ChildTreeItem!, handle)

DO UNTIL ll_handle = -1


ll_handle = tv_directory.FindItem(ChildTreeItem!, handle)



The TreeView object tv_directory displays correctly, and I have verified the object is valid when the code above is executed, it only seems to be the calls "GetItem" and "FindItem" that fail.

This does not happen when loading smaller amounts of data into memory (our next largest client requires <1 GB of data in memory), only when loading the larger amount. I have set PB_HEAP_DEBUG and PB_HEAP_LOGFILENAME, but the log file that gets created is empty. I have also set PB_POOL_THRESHOLD to different values, but nothing fixes it.

Is there anything else I can try?