Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: (Keine) Freude mit Zeigern

  Alt 26. Dez 2003, 04:23
Am Anfang hatte ich Records benutzt, aber ich konnte leider keine TRecordList finden , daher die Klassen.

Speicher reservieren? Die ganzen Objecte werden von den TObjectLists "geowned" , ich dachte die Sache wäre damit für mich erledigt weil die Methoden der ObjectList die Speicherreservierung und das ganze Management übernehmen...

"Mit TObjectList können Sie eine Liste von Objekten speichern und verwalten. Die Komponente stellt Eigenschaften und Methoden für das Hinzufügen, Löschen, Umsortieren, Suchen, Zugreifen und Sortieren von Objekten zur Verfügung. Ist die Eigenschaft OwnsObjects auf True gesetzt (Voreinstellung), verwaltet TObjectList den Speicher seiner Objekte, das heißt, ein Objekt wird freigegeben, wenn sein Index neu zugewiesen wird, wenn es mit der Methode Delete, Remove oder Clear aus der Liste entfernt wird oder wenn die Instanz TObjectList selbst aufgelöst wird."

Die Objekte werden mit einer Funktion erzeugt und als Ergebnismenge an die Funktion TObjectlist.add() der jeweiligen Liste übergeben.
Delphi-Quellcode:
function CreateObject: TObject;
begin
 Result := TObject.Create;
end;

...

MyObjectList.add(CreateObject);
Muss ich den Pointern auch extra Speicher reservieren mit New() oder genügt das hier?
MyPointer := Pointer(MyObject); Hab ich das falsch verstanden, dass Pointer nur Zeiger auf Objekte (Adressen) sind und eine feste Größe haben (wie z.B. ein Integer 4 Bytes groß ist)?
Dani H.
  Mit Zitat antworten Zitat