Ian,
Q#1...
Did you mark ALL PBLs as PBDs? Note that is _ALL_ PBLs - PFC PBLs plus
pfcsecad.pbl.
See how the TreeView's associated DataObject names are passed to the TV
service, unbeknownst to the compiler?
// Register the datasource for each level of the tree
tv_apps.inv_levelsource.of_register(1, "description", "",
"d_pfcsecurity_applications", gnv_app.inv_trans, "")
tv_apps.inv_levelsource.of_register(2, "window", ":parent.1.application",
"d_pfcsecurity_windows", gnv_app.inv_trans, "")
So either you have to make sure that the pfcsecad.pbl is marked as a PBD,
or you need to include a PBR with ALL dynamic DataObjects in it. (The
pfcsecsc.pbr file is actually for the *SCANNER*, not the Admin app so that
PBR does not suffice.) I strongly recommend simply marking all PBLs as
PBDs.
Q#2...
Off the top, I highly suspect that it is due to memory management problems
caused by the HALT CLOSE. When a HALT CLOSE is issued, no destroys or
window closes are processed. In fact, the 'CLOSE' is misleading - HALT
CLOSE will fire *only* the *application* close event. That's it! If you
trigger another event from the app close (like pfc_close), HALT CLOSE won't
fire that. If there is an nvo destroyed from the app close (like DESTROY
gnv_app), its destructor won't be fired. What that means for PFC is that a
lot of services may be left hanging in memory.... NT is pretty good about
'cleaning up' after such unfinished business when an app terminates, but
Win95 is not as good (not to mention that 16-bit was a GPF disaster after a
HALT CLOSE).
I'd suggest to simply avoid getting that error, and when you do get it,
exit PB and then come back in to try to clean memory a little. Or try
changing the Security Administrator code to eliminate the HALT CLOSE to see
if that cures your problem. At any rate, I don't think that you should
then have to re-install PB when that happens!
Tip: Avoid HALT and HALT CLOSE. To make a clean exit, it is better to
CLOSE the frame. If the error occurs before the first window is opened,
for example in n_cst_appmanager's pfc_open, try something like:
this.Event Destructor()
HALT CLOSE
I learned this tip and this HALT CLOSE info from Boris and Jon.
Have fun,
~Sharon
--
Sharon Weinstrom Buntz | mailto:[EMAIL PROTECTED]
Cheat Sheet for PFC/PB Help | http://www.pfccheatsheet.com/
IanH wrote:
>
> Hi,
>
> I was wondering if anyone has run across these problems that I am having
> with the PFC Security Admin?
>
> 1. When I compile the app. (pfcsecurity_admin) nothing is is retrieved
> from the security tables even though I am connecting to the database.
> The app. works ok when run in the PB dev. environment.
>
> 2. I have also found that when I run the security administrator my PB is
> corrupted is some way. The effect is that I loose all update and
> modification ability through the database painter. eg. when I choose
> 'alter table', all the columns are greyed out, or if I try to drop a
> table I get a message box with "The following DLL command is not
> supported: DropTable".
> I have checked the database painter Options/preferences and the read
> only flag is not set. I suspect that this problem happens when running
> pfcsecurity_admin and the INI file cannot be found. When I point the
> library painter back to the correct folder and I run pfcsecurity_admin
> again I get a GPF. After this I think is when I get the PB environment
> corruption. The only way I know to fix the problem is to uninstall and
> re install PB.
>
> I am currently on PB 6.5 with WIN95. The database is SQL Anywhere 5.5.02
>
> I have also found the same happens with NT 4.0
>
> Any advice would be appreciated.
>
> Regards
> Ian
> [EMAIL PROTECTED] HOSTED BY IIGG, INC. FOR HELP WITH LIST SERVE COMMANDS, ADDRESS
> A MESSAGE TO [EMAIL PROTECTED] WITH THE FOLLOWING MESSAGE: help pfcsig
> SEND ALL OTHER INQUIRES TO [EMAIL PROTECTED]