![]() |
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Zitat:
Von Records auf TInterfacedObject(für ARC-Lazyness) oder TComponent(für Aufräum-lazyness)... Ich werde jetzt wohl an den Stellen wo es kritisch ist nicht mehr die Records übergeben sondern die Indexe die sie in den Tarray<T> dingern haben. Ich bin so traurig. |
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Also nicht nur eine Kopie des einen angefragten Items, sondern gleich von ALLEN. :stupid:
(das Speichermanagement und die CPU freuen sich etwas tuen zu dürfen) |
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Zitat:
Delphi-Quellcode:
oder so
RecordAusListe('Peter').Hitpoints := 5;
Delphi-Quellcode:
??????
RecordAusListe('Peter')^.Hitpoints := 5;
|
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Zitat:
Es ist sooo traurig. Vielleicht stelle ich auf TObjectlist<T> mit ownership um und alle Records zu normalen DatenObjekten.... |
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Zitat:
|
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Zitat:
Delphi-Quellcode:
type
PMyRecord = ^TMyRecord; Function RecordAusListe(aName:String) : PMyRecord; Begin Result := @MyRecordLIST.Items[IndexOfName(aname)]; end; Procedure Tuwas; var myRec:PMyRecord; Begin myrec := RecordAusListe('Peter'); myRec.Hitpoints := 5; // oder RecordAusListe('Peter').Hitpoints := 5; // das ^ ist nicht notwendig, das denkt sich der Compiler dann. end; |
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Danke euch allen.
|
AW: Auch Records...kann man CopyOnWrite deaktivieren?
Zitat:
Delphi-Quellcode:
werdem RecordPointer automatisch implizit dereferenziert.
.
Es kann aber natürlich dennoch explizit mit ^ dereferenziert werden. (nur bei Objekt-Zeigern, ist das Explizite nicht erlaubt, bzw. hier wird alles immer nur implizit vom Compiler erledigt) Da hier der Zugriff eigentlich über einen Name, anstatt via Index ... TDictionary<string,TMyRecord> bzw. TObjectDictionary<string,TMyObject> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz