I'm hoping someone can help me with the following problem, that I'm struggling to find a resolution to:
I have a PB 7.0 app using QARun 4.7.4. The application is a MDI application, setup in such a way that just about every window launched by the listview controls within the client area of the main (frame) window are child windows of the main(frame) (even the windows opened by the child windows are child windows of the main (frame) window). When in learn mode, QARun recognizes these Childwindows as MainWindows. When QARun is in playback, it can't find the window(s) to attach to. I've tried to object map the windows but it hasn't been working. When I use the Identify utility, all I get is garbage in the attach name area (although I had mapped it earlier) and the client area is noted as a Childwindow. The individual controls (i.e. the listview controls) and windows that are launched within the client area are not recognized).
Let me clarify what's going on when I use Identify. Listview controls exist with the client area of the application's frame window. Using Identify, the frame window is identified correctly (attach name show's up).
For the client area, without any child windows open, with only the listviews displayed, Identify states that the attach name is "listview_name ListView" with type = Listview.
However, the minute I launch a window (aka a ChildWindow) by double-clicking a listview, within the client area, and use the Identify tool, the following happens when I pass the target pointer over the client area:
attach_name = ~~U~~ (or something like this-garbage basically)
type = Generic
And, yes, the application is written in PowerBuilder 7.0
Aahh that is nasty ....
I also had problems with identifing generic objects. In my case it were generic comboboxes. They got filled with specific data after choosing an option.
It seems almost impossible to identify a genric object. What you can try is to make 2 objects in your object map. 1 for the initial state of the client area before you activate a child window and 1 after you activated the child window. After you created an object for the client window (what became generic) give this client window the focus and open the object (the one of when he is generic) again from the object map. There you'll see a button what gives you the oppertunity to verify if he still can find the object.
If this works you can use the second object for the client window after a childwindow has been opened.
I hope this helped you a bit further.
[This message has been edited by owirtz (edited 11-01-2001).]