Zitat von
guidobrose:
Erste Frage:
Wenn ich die so erzeugten Objekte wieder freigeben möchte, welche Methoden muss ich dann aufrufen?
StringGrid.Objects[..].Free?
Ja!
Zitat von
guidobrose:
Damit ist die Instanz von TFont aber noch nicht freigegeben, oder?
Dafür ist die Klasse TCellOption verantwortlich.
Zitat von
guidobrose:
Sollte ich also geschickterweise die create und destroy-Methoden von TCellOption überschreiben und darin die Instanz von TFont (und TBitmap) erzeugen und freigeben?
Definitiv!!
Zitat von
guidobrose:
Zweite Frage:
Wie verhält es sich mit dem Speicherbedarf, wenn ich direkt eine Instanz von TBitmap pro Zelle erzeuge, ohne das ich sie evtl. wirklich benötige?
Der benötigte Platz eines leere Bitmap-Objekts lässt sich über die Funktion InstanceSize abfragen.
Eingebettete Objekte werden dabei nicht berücksichtigt (bzw. nur 4 Bytes für den Objektzeiger).
Ein gefülltes Bitmap benötigt dann noch zusätzliche Resourcen.