Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Blup,
28. Aug 2009
Die Ursache wird vermutlich nicht innerhalb der Methode PushPanel liegen.
Dort werden nur neue Steuerelemente erzeugt, die Fehlerursache ist eher da zu suchen, wo etwas freigegeben wird.
Das kann ein ganz anderes Formular/Klasse sein.
RemoveControl löscht das Steuerelement nicht, sondern entfernt es nur aus der Liste der untergeordnet anzuzeigenden Elemente.
Das Steuerlement bleibt dann...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Blup,
26. Aug 2009
Leider gibt es dafür keine einfache Lösung, da hilft nur sauber zu Programmieren.
Beliebte Ursachen:
- Zugriffe über Arraygrenzen hinaus
- Pointer auf Arrayelemente und Änderung der Arraygröße
- Pointer auf Elemente die bereits freigegeben wurden
- Objektvariablen die auf Objekte verweisen die freigegeben wurden (insbesondere Elemente von TObjectList)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Blup,
26. Aug 2009
Das hört sich an, als wenn der Speichermanager an anderer Stelle zerschossen wurde.
Owner der Steuerelemente ist üblicherweise das Formular.