Zitat von
IBExpert:
aus meiner sicht ist es nur dann sauber programmiert wenn du selbst eine Strategie entwickelst, das alle von dir explizit erzeugten Komponenten von dir zu gegebener zeit wieder zerstörst.
Das sehe ich genauso! War ein bisschen falsch formuliert von mir, "richtig sauber programmiert" meinte ich "aus Delphi-Sicht", d.h. nur, wenn man sicher sein kann, dass sich jemand um den Restmüll kümmert, ist es ok. Ansonsten nehme ich das auch lieber selber in die Hand, und am besten in der umgekehrten Reihenfolge der Entstehung, dann kann auch nicht viel passieren mit unangenehmen Abhängigkeiten.
Zitat:
Ich nutze zum beispiel fast immer eine
Query Komponenteninstanz pro operation insert/update/delete (oft auch für simple selects) pro tabelle und lasse die instanz auch fast immer so lange instanziiert, wie das programm läuft.
Halte ich für das Geschickteste. Wozu auch immer wieder neu von vorne anfangen? Von wenigen Ausnahmen abgesehen, kaum sinnvoll.
Zitat:
Diese einmal instanziierten Queries merke ich mir in einer Tlist ...
keine schlechte Idee, ich habe das sonst meist mit dynamischen Arrays gemacht.
Zitat:
Die Automatismen über den Owner, der als solcher für das zerstören der Childs zuständig ist, sind ganz nett, aber manchmal überschätzt. Man müllt da unbewusst manchmal was voll. Ich mach lieber als owner bei nicht visuellen Komponenten nil oder application.
Macht Application nicht das Gleiche? Dachte schon!
Zitat:
Dann kann ich auch selbst die Zerstörungsreihenfolge bestimmen (es ist manchmal nicht so nett, zuerst die database komponente zu erschiessen und danach erst die datasets, das bringt immer wieder lustige AVs).
zur Reihenfolge s.o.
Zitat:
Der Parent ist nur für das Zeichnen wichtig, ...
so dachte ich es mir ...
Zitat:
Der Parent ... kann aber zur Laufzeit zerstört werden mit z.B. freeandnil(panel2). Dein Button hat dann als parent nil, der button ist zwar noch im Speicher, aber nicht sichtbar (sehr unpraktisch in diesem Fall).
Aber doch hoffentlich nicht ohne mein Zutun!
Vielen Dank für die ausführlichen Erläuterungen, das ist immer wieder sehr hilfreich, auch wenn ich es gar nicht so viel anders angefangen hätte! ...