Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
16. Jan 2024
Schlimmer wird es noch, wenn solche Records kopiert werden ... wer gibt das dann frei.
Da fängt man dann schonmal an selbst die Referenzen zählen zu müssen.
Für sowas sind dann die Custom Managed Records nett.
Da kann/muß man dann auf alles reagieren (initialisierung, finalisierung und kopieren)
Oder man geht eben zu Record-Pointern oder direkt zu Objekten über (genau genommen sind...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
16. Jan 2024
Das hat aber nichts mit Packed zu tun.
So lange es nicht auf jedes einzelne Byte drauf an kommt oder der Record für Speicherung oder Datenübertragung (in andere Systeme/Programme/...) verwendet wird, kann es aber nachteile bringen, wenn Speicher ungünstig ausgerichtet ist.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
16. Jan 2024
:= Default(...) überschreibt einfach alles mit Nullen.
Von den Zeiger-Typen werden ausschließlich Managed-Typen automatisch freigegeben. (Variant, LongStrings, Interfaces und dynamische Arrays)
Also erst das Objekt freigeben und danach den Record leeren.
mögliche Lösungen
* Object anstatt Record
* Interface statt Object
* dynamisches Array anstatt Liste/Dictionary (mit dem generischen...