Any ideas? Alternate SSTab Controls Approach, Limit reached Error: "Reached limit, cannot create any more controls on this form.
Posted on 2006-06-21
I am looking for ideas. I have a form called 'frmDescirption' in my VB6.0 app that uses SSTabs extensively. The form has six main tabs: Cover, Main, Timeline, Levels, Implications and Evaluations. The data associated with five of the six tabs can be entered in an area the fits comfortably within the alloted space. None of these are an issue.
My question relates to the 'Levels' tab. The users are permitted to enter up to 15 levels for each analysis that they are doing, so the fifth tab, 'Levels' contains another SSTab strip with 15 tabs, one tab for each possible level that can be entrered by the user. Each of these level contains exactly the same informaton and I use control arrays so that the field names are the same on each of the 15 tabs/levels and I reference specific fields on specific levels by using an index. I also have the data for each of the 15 tabs stored in memory arrays. I have always been aware that this is not the most memory efficient way of handling the multiple occurences but have never addressed it, however now I must. The number of fields needed to collect the information associated with each 'Level' has increased to the point that I have reached VB's limit. When I try to add a new control to the form I get an error message 'Reached Limit: Cannot create any more controls on this form'.
I know I must adapt an alternate way of handling the 15 levels but I want the usability to remain the same. Using the 15 identical tabs gives the user great flexibility and speed (one click) in jumping from level to level and main tab to main tab. They can jump from level 10 on the 'Levels' tab to the 'Cover' tab with one click. I know it would be more efficient to only have the 'Level' screen defined once and shuffle the data of the related level to and from that single screen/form but I don't want to lose the navigational flexibility of the quick, one click jump from level to level and main form tab to main form tab. I considered having a seperate stand alone form that I could invoke each time they wanted to view or edit a particular 'Level'. However, I would have to pass the data needed to populate the form and retreive it and edit it. Some of the edits involve interdependancies between levels, so I need the data from all 15 levels to edit the data just entered by the user.
I also thought of keeping the 15 tab SSTab control on the form but not creating any specific forms under it. I would then use the click event of the tab to 'popup' the form for the clicked level. This seems like a good idea but I don't quit know how to do it. Where would I define his popup form in the 'frmDescription' definition.
More information: This is not a bound form. The data is retrieved from the database and populated to the pertinent objects on the form. when entry is complete, the data is reteived from the form and written to the pertinent tables in the database.