![]() |
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. |
Re: referenz auf ein object abspeichern?
also gibt es fuer jede zeile eine object property die ich setzten und abfragen kann?
richard |
Re: referenz auf ein object abspeichern?
Für jede Zelle.
|
Re: referenz auf ein object abspeichern?
Zitat:
siehe ![]() Aber wie gesagt: Wenn du es nur für jede Zeile brauchst nimmst halt immer die erste Spalte oder so |
Re: referenz auf ein object abspeichern?
@treffnix
alles klar jetzt hab ichs kapiert. vielen dank ! Gruß Richard ;) |
Re: referenz auf ein object abspeichern?
Schau mal hier
![]() [edit]Sorry, falscher Beitrag[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 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