Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
17. Jan 2024
Das Problem ist halt, dass man nicht-referenzgezählte Objekt-Instanzen und Interfaces niemals gleichzeitig auf das "selbe" Objekt haben darf/sollte.
Bzw. bei TComponent ist es "standardmäßig" so, dass optional anhängbare Interfaces nicht referenzgezählt sind.
Jene sollte/darf man somit auch immer nur kurz benutzen und die Interface-Instanz sofort wieder freigeben.
Da hier ausschließich das...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
17. Jan 2024
Weil Pascal/Delphi "objektorientiert" ist :wink:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
17. Jan 2024
Leider ist von Microsoft das IStream nicht kompatibel mit Delphis TStream (von den Methoden her)
und für die Verwendung braucht man ja immernoch das Delphi-Objekt.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
23. Dez 2023
Nicht NOT?
Free und FreeAndNil besitzen bereits ein eingebautes if Assigned(Self) then Destroy,
entweder es wird erstellt oder nicht (dann isses NIL, im Destructor), also kann man eigentlich immer einfach direkt Free auffrufen, egal ob Assigned oder nicht. (außer von außen wurden Fremdobjekte reingegeben und diese werden nicht geOwned)
(im Destructor und bei lokalen Variablen verwende ich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
22. Dez 2023
Du erstellst etwas im Constructor, was sich nicht selbst freigibt,
warum fehlt dann dein Destructor?
Wo ist das inherited Create;?
Und wieso gibt es ein WRITE bei den Streams? Die werden intern erstellt, also was wird wohl passieren, wenn dort wirklich mal jemand etwas zuweist?