I try to clarify the context and the use case
- the user sees the error message after using the application for one hour or more. Using the app means changing data from the gui and running calculations on the data model (more or less 10k records to be updated in the db behind the GUI)
- after the error/log message has appeared I’ve been able to open the widget inspection tool to see if there are 30000 controls or so in some branch of the controls tree: there aren’t
- the GUI has an agw.auibook with 7 pages. In 6 of them there are wx.grids and in 2 of them there are also graphical parts using wx.pseudodc. One of these DC is a gantt chart that can contain up to 700 shapes with their id
I think that the ids of the grids’ cells don’t create problems because I use many of them also in other context without this kind of errors. I have doubts about the usage (reserve/unreserve) of the ids of the gantt shapes when the dc is refreshed to show changes to the data
I was using self.GetParent().NewControlId() the create the ids of the shapes. Changing it to wx.NewIdRef() as in pseudodc demo can make the difference? is it mandatory to use a wx id generator or can I use another one? (the gantt bars refers to records of the db that have their own ids)
thank you for your time
Marco