If you want to try and track down the real problem, the first thing is to confirm the tables are being left open. In a simple example. What tables are open? When do they get opened, exactly, and where. How is the form called?I picked a fairly common type screen that I use -- it is a two tab modal query screen that leads you to another screen. Tab 1 has filter items and tab two has a grid showing the selected items. In the case below I just open the form (do form doclist_grid) and then hit the cancel button, which calls thisform.release().
The Data Environment has two local views in it:
v_codes -- picklist table (parent table is codes)
v_documents -- drives the grid on tab 2 (parent table is procdure)
The form has a combo list that is an sql query of codes and it creates a cursor called doc_type. I use msgsvc.dbf to define all of the captions and labels on the screen -- eg. lblName=msgsvc("This would be the name caption")
The DE.beforeopentables() has
public pcGroup
pcGroup="%"
This is used so v_codes is populated for the query mentioned above.
No other data type calls in the form's init(), and the form's queryunload() has a
Release pcGroup
Which doesn't seem to release the variable.
I thought that this might be the culprit so I added release pcGroup to the DE.afterclosetable(), but I still have open tables after I close the form -- however it might still be related??If I run the form and then immediately close it via the cancel button (thisform.release() is in the cancel.click() method) or via the window's "X" close icon, I have the following tables open:
Doc_type
Msgsvc
Procdure
Codes
No other code is in the form's methods (or the parent menthod)
Thanks for your help,
Kevin