In debugging a non-threaded project on Windows, I’ve run into a situation where I need to check the properties and values of controls contained within a container embedded within the instance of a window.
I can find the specific Window instance in the debugger’s Window list
I can find the Embedded container in that Window’s listed controls
I can open the Container, but only the container’s properties are shown - I cannot access any of the controls within the container.
Is this just the way it is, or am I missing something?
No that shouldn’t be the case as your Window --> Embedded Container —> Controls should be there barring you didn’t by accident close the Container prior to the step in the debugger you are looking at? I have done this to myself by accident before where I accidentally had the Container.Close earlier in my code and I was confused since you could still see the container but all of my controls were not there (The Container reference remained until I = Nil’ed it).
The debugger is way too limited. To avoid the PITA of looking for something, you can add a local variable to the object you want to inspect just before your breakpoint.
Not in this case. In fact, the first breakpoint is just after the embedwithin call. I then step through the methods that populate the container controls up to the second breakpoint. At this point, I’m populating a labels that are children of the container. At this point, I expand the Windows list, select that container’s parent (only other window beside my main window), and then select the embedded container. I have found a solution, though - by placing another breakpoint within a method of the Container, the container is properly displayed in the debugger. That should not be necessary, but we have uncovered yet another work around for a Xojo shortcoming …
When I break inside of the Container, I see what you show above. My issues is when I break in a global module method. Then, the Window is shown, and the container is shown as an embedded item, but the Container itself only displays it’s properties.