Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dynamisches Array (https://www.delphipraxis.net/154241-dynamisches-array.html)

hugo1990 2. Sep 2010 18:12

AW: Dynamisches Array
 
Also with ... do tut auch mit Objekten, aber das hättest du auch durch probieren rausfinden können.
und wenn du aus record einfach class machst, dann sollte sich an deinem Code mit dem with ... do auch nichts ändern.

[OT]
Eigentlich Schade, dass ein so schönes Programmierkonstrukt wie with ... do in kaum einer anderen Sprache existiert.
[/OT]

mkinzler 2. Sep 2010 18:14

AW: Dynamisches Array
 
Es ist aber auch eines der gefährlichsten Konstrukte

Lotus 2. Sep 2010 18:16

AW: Dynamisches Array
 
Ich HABS ausporbiert... und es kam ein Fehler deswegen fragte ich ja.

Zugriffsverletzung auf Speicher kam dann..

Delphi-Quellcode:
type
  TKarte = class
            KartenName : string[12]; //Sieben, Acht, Neun, Zehn, Bube, Dame, König, Ass
            KartenWert : Byte; //zur Bestimmung des Indexes beim Array
            KartenZiffer : Byte; //Zur Namens - Bildauflösung B=11, D=12 K=13 Ass=1
            KartenTyp : Byte; //Karo (1), Herz(2), Pik(3), Kreuz(4)
            end;

with Karte do begin
KartenName:= 'Karo Zwei';
KartenWert:=1;
KartenTyp:=1;
KartenZiffer:=2;
end;
Mit Record klappts übrigens wunderbar (zumindestens das with do)

DeddyH 2. Sep 2010 18:18

AW: Dynamisches Array
 
Klassen (besser gesagt: Klasseninstanzen) muss man ja auch erst erzeugen.

Lotus 2. Sep 2010 18:22

AW: Dynamisches Array
 
Das heißt ich muss nur einmal Karte.create aufrufen?

mkinzler 2. Sep 2010 18:26

AW: Dynamisches Array
 
Nein
Delphi-Quellcode:
Karte := TKarte.Create;

DeddyH 2. Sep 2010 18:26

AW: Dynamisches Array
 
Einmal für jede Karte, die Du der Liste hinzufügen willst, ja.

Lotus 2. Sep 2010 18:28

AW: Dynamisches Array
 
Hey danke! Das klappt.. das werd ich jetzt mal probieren!

@DeddyH

Ich benutz immer dieselbe Variable "Karte".. also ich überschreib nur die Werte dieser.. von daher also nur einmal create :)

DeddyH 2. Sep 2010 18:29

AW: Dynamisches Array
 
Wenn es nur eine Karte ist, wozu dann das Array/die Liste?

Lotus 2. Sep 2010 18:36

AW: Dynamisches Array
 
Es ist nicht nur eine Karte oO? Ich benutzte nur die eine Variable für alle Karten.. bei 52 Karten müsste ich ja sonst 52x Karte anlegen..

Ich hab jetzt mal probeweise zu der Objectlist 2 karten hinzugefügt.. hat auch geklappt
Delphi-Quellcode:
 ObjectList.Add(Player[i].HandKarte[1]);
    ObjectList.Add(Player[i].HandKarte[2]);
Aber nachdem ich das Programm geschlossen habe, kommt nen Fehler

Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
ObjectList.free;
end;
Zugriffsverletzung bei der Adresse 000000000 ... ich dachte das Freigeben muss man machen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Seite 3 von 4     123 4      

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