If you want to make a modification to the PFC, be sure to replace (not duplicate) the extension layer object you are modifying. Let me explain.
I added a new window-level service to PFC. I made a local copy of w_master (the empty extension layer descendant of pfc_w_master on which all windows are based). So I had two objects with the same name (w_master) in my library search path because I left w_master in pfemain. I thought, “no big deal -PowerBuilder will just use the first one it comes to in the library path.”
But I started noticing that it took 45 seconds to go into the script painter — for a window that was already open in the window painter – after running my application. After much trial and error, I finally realized it was this extra w_master in the library search path that was causing the problem. I removed the one from pfemain, regenerated all the windows in the ancestor tree, and the problem went away.
A couple of years ago, while using PowerBuilder 4.0, I did the same thing. I made a local copy of an ancestor object so that I could modify it. I got some weird behavior. Took out the extra copy, and everything worked well again.
So I’d like to warn you that it’s not a good idea to have two objects with the same name in your library search path. There’s no telling what kind of strange behavior you might encounter. And I’d also like to emphasize that whenever you make a change to PFC, it’s a good idea to do a full rebuild on the application.