![]() |
referenz auf ein object abspeichern?
hallo leute,
ich moechte die referenz auf ein object abspeichern, in einem array, oder in einer stringlist. ist so etwas moeglich? und wie kann ich das bewerkstelligen? theoretisch muesste es doch reichen, einen pointer auf das object abzuspeichern oder? Gruß Richard |
Re: referenz auf ein object abspeichern?
Zitat:
ich organisiere mir meine objekte für solche fälle schlicht und einfach in einer TObjectList. ich erstelle das objekt und gebe es einfach der funktion TObjectList.Add(), das tolle an der objectList ist, dass sie die enthaltenen objekte automatisch freigibt, wenn diese gelöscht oder die liste selbst freigegeben werden.
Delphi-Quellcode:
aenogym
var tempObject: TObject;
begin tempObject := TObject.Create(); //...tempobject wie gewünscht initialisieren myObjectList.Add(tempObject); //wenn ich's nciht mehr brauche, lösche ich das objekt mit dem definierten index myObjectList.delete(0); end; edit: in einer stringList kannst du weiterhin auch noch die funktion AddObject() aufrufen ;) |
Re: referenz auf ein object abspeichern?
Delphi-Quellcode:
Achtung Achtung das reicht nicht aus.
var tempObject: TObject;
begin tempObject := TObject.Create(); //...tempobject wie gewünscht initialisieren myObjectList.Add(tempObject); //wenn ich's nciht mehr brauche, lösche ich das objekt mit dem definierten index myObjectList.delete(0); end; hier wird nur die Referenz gelöscht. Der Speicher aber bleibt belegt!!!
Delphi-Quellcode:
Vorher unbedingt Speicher freigeben
myObjectList.delete(0);
Delphi-Quellcode:
TObject(myObjectList[0]).Free;
myObjectList.delete(0); |
Re: referenz auf ein object abspeichern?
@Jens: :tongue: stimmt nur bedingt. :mrgreen:
Die OH sagt dazu. Zitat:
grüße, daniel |
Re: referenz auf ein object abspeichern?
Zitat:
Zitat:
|
Re: referenz auf ein object abspeichern?
ok jungen, erstmal danke fuer eure antworten, aber das meint ich gar nicht.
ich habe im stringgrid bestimmte ausgaben, die werte des objects darstellen. jetzt will ich aber eine funktion implementieren, das wenn ich auf die ensprechende zeile mit der rechten maustaste klicke, nicht nur die zeile mit den werten geloescht wird, sondern auch das object selber. und dazu brauch ich doch die objectreferenz. richard |
Re: referenz auf ein object abspeichern?
Zitat:
da könntest du doch TStringList.AddObject() verwenden, um deine objekte mit den strings zu verknüpfen. |
Re: referenz auf ein object abspeichern?
TStringGrid hat sogar ein eigenes Property Objects. Da kannst du für jedes Feld einzeln ein Objekt reinhauen. Oder du nimmst z.B. immer das erste Feld, wenn du nur eins pro Zeile brauchst...
|
Re: referenz auf ein object abspeichern?
ja aber mein object is doch visuell, und ich will es aber nicht im stringgrid dargestellt haben? oder mach ich da einen denkfehler?
richard |
Re: referenz auf ein object abspeichern?
Zitat:
Das Objekt wird nicht im Grid dargestellt ( ausser, du willst es so ). Du speicherst nur die Referenz auf das Objekt. Parent, Owner etc. bleiben die alten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 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