Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Array von Zeigern auf Objekte... (https://www.delphipraxis.net/120126-array-von-zeigern-auf-objekte.html)

Andy386 5. Sep 2008 19:52


Array von Zeigern auf Objekte...
 
Hallo, ich möchte verschiedene Werte buffern. Die Werte sollen zu dem in verschiedene Buffer.
Irgendwie habe ich einen Denkfehler, aber so richtig finden tu ich ihn nicht...

Also, mein Buffer sieht so aus (Ausschnitt):
Delphi-Quellcode:
pBuffer=^TBuffer;
  TBuffer = class(TObject)
  private
    buffersize:Integer;
    counter:Integer;
Das Buffer-Array:
Delphi-Quellcode:
    Buffer: array [1..12] of pBuffer;
Die Erstellung der Buffer und Einsortierung:
Delphi-Quellcode:
  b1:=TBuffer.create(buffersize);
  b2:=TBuffer.create(buffersize);
....
  buffer[1]:=@b1;
  buffer[2]:=@b2;
Teil vom Create:
Delphi-Quellcode:
  buffersize:=bufferlength;
  SetLength(array, buffersize);
  counter:=0;

Hier mal eine Buffer-funktion:
Delphi-Quellcode:
procedure TBuffer.tuwas(wert:single);
begin
  counter:=counter+1;
  array[counter]:=wert;
Createn klappt alles ohne Probleme, auch wenn ich bei "Erstellung und Einsortierung" reindebugge, scheint sich das so aufzubauen, wie gewollt.
debugge ich aber in die Buffer-Funktion rein, hat counter aber nicht den Wert 0, und bei der Zuweisung von "wert" kommt dann ein Absturtz mit Assembler-Fenster...

Ich habe das so umständlich gemacht, um mit buffer[i] schneller zugreifen zu können als mit buffer1, buffer2, ...
Weiss jemand Rat?

jfheins 5. Sep 2008 20:00

Re: Array von Zeigern auf Objekte...
 
Ähhh .. wozu brauchst du Zeiger auf Objekte ???

Die Objektvariable ist bereits ein Zeiger ;)

grenzgaenger 5. Sep 2008 20:45

Re: Array von Zeigern auf Objekte...
 
wie wär es mit 'ner TObjectList? ist eine liste auf zeiger.... :-)

nicodex 5. Sep 2008 20:50

Re: Array von Zeigern auf Objekte...
 
Oder gleich eine IInterfaceList, damit man sich nicht mehr um die Lebenszeit der Objekte kümmern muss :)

grenzgaenger 5. Sep 2008 21:00

Re: Array von Zeigern auf Objekte...
 
das macht doch schon die objectlist ... ;-)

nicodex 5. Sep 2008 21:09

Re: Array von Zeigern auf Objekte...
 
Zitat:

Zitat von grenzgaenger
das macht doch schon die objectlist ... ;-)

a) Ich mag Interfaces :)
b) komme mal in eine Situation, in der du die Objekte in eine zweite (x-te) Liste packen musst - und (ohne großen Aufwand zu betreiben) sicherstellen musst, dass beide Listen verwendet werden können und die Lebenszeit der Objekte klar geregelt ist... wird insbesondere dann lustig, wenn man Objekte "heraus"geben muss, und nicht weiß, wie lange diese "extern" verwendet werden.

Wie auch immer, für einfache Zwecke reicht auch ein TObject-Array :)

edit: OK, ich geh’ dann mal lieber ins Bett, sonst hat der Fragesteller morgen früh eine Dissertation über Schnittstellen als Lektüre, statt Antworten auf seine Frage zu lesen :)

grenzgaenger 5. Sep 2008 21:15

Re: Array von Zeigern auf Objekte...
 
punkt:

Zitat:

Zitat von nicodex
a) Ich mag Interfaces :)

ist nachvollziehbar... obgleich es nicht meinen persönlichen präferenzen entspricht...

Andy386 6. Sep 2008 20:30

Re: Array von Zeigern auf Objekte...
 
Okay, ich hab jetzt die Pointer weggenommen, geht alle schon.
k.A. wieso ich so verknotet gedacht habe, irgendwie war ich da zu sehr bei records in Gedanken :oops:

Vielen Dank für die vielen, anderen Vorschläge; bei Gelegenheit befrag ich mal die Delphi-Hilfe zu :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz