Misschien dat een van de gurus hier me kunnen helpen want ik kom er niet uit en heb het zo goed als opgegeven.
Stel, ik heb een STL list van pointers naar QFrame als member van een class genaamd "Object". Dan is er een andere class genaamd "Schedule", die in feite een inherited QTable is.
Als in die Schedule class vervolgens een cell in haar table wordt gekoppeld aan een bestaande widget door midden van een van de pointers in die STL list, dan compilet het gebeuren weliswaar goed, maar knalt de applicatie eruit zodra de cell met de bewuste widget pointer erin zichtbaar wordt gemaakt. Er kunnen twee soorten run-time meldingen opduiken: "segmentation fault" of "illegal instruction".
Voor de duidelijkheid: van al die pointers in de STL list is in de class "Object" reeds een new gedaan voor geheugenreservering. Tevens geeft de iterator ook aan dat het correcte aantal pointers na het doorlopen van de code ook werkelijk in de list zit.
Dan is er nog iets bizars: als ik op afstand, vanaf de main function dus, hetzelfde doe (pointer uit de list in "Object" koppelen aan een cell in "Schedule"), dan gaat het goed! Maar ik moet deze functionaliteit ingebouwd hebben in Schedule zelf. Waarom gaat dit toch fout? Zijn er misschien typische booby traps waar ik in kan zijn gevallen?
Help is much appreciated.
Stel, ik heb een STL list van pointers naar QFrame als member van een class genaamd "Object". Dan is er een andere class genaamd "Schedule", die in feite een inherited QTable is.
Als in die Schedule class vervolgens een cell in haar table wordt gekoppeld aan een bestaande widget door midden van een van de pointers in die STL list, dan compilet het gebeuren weliswaar goed, maar knalt de applicatie eruit zodra de cell met de bewuste widget pointer erin zichtbaar wordt gemaakt. Er kunnen twee soorten run-time meldingen opduiken: "segmentation fault" of "illegal instruction".
Voor de duidelijkheid: van al die pointers in de STL list is in de class "Object" reeds een new gedaan voor geheugenreservering. Tevens geeft de iterator ook aan dat het correcte aantal pointers na het doorlopen van de code ook werkelijk in de list zit.
Dan is er nog iets bizars: als ik op afstand, vanaf de main function dus, hetzelfde doe (pointer uit de list in "Object" koppelen aan een cell in "Schedule"), dan gaat het goed! Maar ik moet deze functionaliteit ingebouwd hebben in Schedule zelf. Waarom gaat dit toch fout? Zijn er misschien typische booby traps waar ik in kan zijn gevallen?
Help is much appreciated.