I have a Text List Object (TLO) inside a TabPanel that behaves differently inside the TabPanel compared to the TLO on the stand alone panel form. This is a bit hard to describe, but easy to replicate. In fact there are two TLO’s on the form. The 1st is used to allow the user to choose an element. The 2nd is used to accumulate and display all of the chosen elements from the 1st TLO. When choosing elements from the standalone panel form, only one click is required to choose an element and display it in the 2nd TLO. However, when doing the same thing within the TabPanel, two clicks are required to make a choice and display the choice in the 2nd TLO. Often I suffer from operator headspace, so it could be something I am doing wrong. However, I am stumped and hoping someone out there can give me some guidance.
I used to be able to edit my posts. I can’t see how to do that, so I will reply to my own post. The problem seems to have gone away. It could have been a hardware timing issue. Running a TLO inside a TabPanel seems to be slightly slower than running the same object outside of the TabPanel, but that could be my imagination. During the problem period I inserted a message in the procedure triggered when selecting a choice from the TLO. The message displayed the value of the file global variable holding the resulting selected choice. On the first click (or first selection attempt), the message was null. On the second click the message displayed the selected choice correctly.
Let me provide some background information that might be helpful in understanding how tab panels work.
Objects aren’t actually “inside” a tab panel object.When you click on a tab button, Panorama essentially copies the objects from the panel form and pastes them into the form containing the tab panel. From that point forward, they are just regular objects, no different from any other object you create by hand. There is no ongoing connection between the tab panel and these objects.
Realizing that there didn’t need to be a connection was kind of the key for me figuring out how to create the tab panel feature in the first place. The great part was that it didn’t require any kind of change to existing types of objects. An object doesn’t know or care that it is “inside” a tab panel.
Jim, thanks for the TabPanel history and explanation. I love the TabPanel object. It is a great time saver and makes an easy to use UI. However, occasionally I am still having trouble with some TabPanels. For Instance, I just recovered from a mysterious TabPanell problem that seemed to corrupt the form. I was forced to resort to a backup file and abandon the idea of using a TabPanel in order to move forward at a reasonable pace. I searched the discussion forum and found that a TabPanel had caused a similar issue where the form seemed to be corrupted and could not be deleted. I saved a copy of my file and form in case you would like to inspect it.