Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
7. Okt 2009
bei ScanLine holst du dir sozusagen nur eine Kopie eines Zeigers auf den Speicher ... der verwiesene Speicher wird aber vom TBitmap verwaltet und auch freigegeben.
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
7. Okt 2009
praktisch, wie sirius in Kurz grad sagte :mrgreen:
Daß es nun darauf ankommt, ob es für diese Daten eine entsprechende Automatik gibt.
Strings und dynamische Arrays werden von der CompilerMagic behandelt.
bei Interfaces ist es ähnlich
Auch wenn du Records via New/Dispose erstellst/löschst
oder selber Speicher z.B. via GetMem/FreeMem/Initialize/Finalize verwaltets
greift die...
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
7. Okt 2009
Integer, Enums und Booleans reservieren ja keinen eigenen/eigenständigen Speicher, liegen direkt im Record und werden somit samt dem zugehörigen Record entsorgt.
Strings (abgesehn vom ShortString), dynamische Arrays, Objekte und Interfaces sind dagegen im Record "nur" Zeiger auf die entsprechenden Daten.
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
7. Okt 2009
Wie rweinzierl schon sagt, muß man vorallem erstmal alles selber freigeben, welches mal per .Create (oder Funktionen, wo das drinsteckt), New, GetMem und Co. selber angelegt hat und wo soich natürlich kein Anderer um die Freigabe kümmert.
Ausnahmen sind Objekte in ObjektListen, welche die enthaltenen Objekte selber freigeben, wenn man die Objektliste freigibt.
Strings, dynamische Arrays und...