Thema: Delphi Eigenen Typ in Klasse

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: Eigenen Typ in Klasse

  Alt 15. Jul 2006, 20:55
Zitat von Hawkeye219:
Auf jeden Fall sollte man nur die gültigen Elemente des Arrays benutzen:

Delphi-Quellcode:
procedure tetc.add(foo: Tdeinrecord);
begin
  setlength(derarray, length(derarray)+1)
  derarray[High(derarray)]:= foo; // <-- High() statt Length()
end;
Hi,
noch viel besser ist es, hier einfach gar kein Array zu verwenden. Ein Array ist nun mal eine recht statische Struktur und
setLength(Array, length(Array) + 1); ist nicht wirklich empfehlenswert (kostet unnötig Zeit und wird vom Speichermanager nicht unbedingt optimal gelöst). Viel besser ist es, wenn du einfach eine TList verwendest, die ist genau dafür gedacht. An sich kannst du deine Records viel schöner als Pointer auf den Record übergeben (ist schneller) und diesen Pointer kannst du dann in deiner TList speichern. Wenn du lesend auf das Array zugreifst, dann kannst du hier ganz einfach eine Methode anlegen, die die TList in ein Array umwandelt. Schreibend kannst du auch Wahlfrei auf die TList zugreifen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat