Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Records und pointer (https://www.delphipraxis.net/176467-records-und-pointer.html)

blinder007 6. Sep 2013 19:10

Records und pointer
 
Hallo Delphianer,
Ich habe ein Problem mit pointern.

ich habe einen Record

type tspieler = record
leben: extended;
verteidigung,
angreifen: integer;
end;

jetzt will ich diesen record in einer tlist haben. dort kann ich aber nur pointer speichern.
wie muss also eine procedure aussehen, mit der ich ein tlist eintrag, bestehend aus diesem typ erstelle.
Habe schon das ein oder andere ausprobiert, mir auch schon ein paar tutorials über zeiger angeschaut, aber in der Laufzeit gibt es immer einen ramfehler...
grüße
blinder007

DeddyH 6. Sep 2013 19:13

AW: Records und pointer
 
Delphi-Quellcode:
type
  PSpieler = ^TSpieler;
  tspieler = record
    leben: extended;
    verteidigung,
    angreifen: integer;
end;

...

var
  Spieler: PSpieler;
begin
  New(Spieler);
  Spieler^.leben := 3.12345;
  Spieler^.verteidigung := 42;
  Spieler^.angreifen := 12;
  Liste.Add(Spieler);
end;
Und beim Löschen aus der Liste schön Dispose aufrufen, sonst gibbet Speicherlecks.

blinder007 6. Sep 2013 19:48

AW: Records und pointer
 
danke dafür - genauso habe ich es gemacht.
sobald ich den befehl list.add(record); schreibe und ausführe bekomme ich ein fehler. nicht beim debuggen sondern in der laufzeit. ich habe die liste auch vorher mit list.create normal erstellt, eine idee, was das problem sein könnte?

Uwe Raabe 6. Sep 2013 20:24

AW: Records und pointer
 
Zitat:

Zitat von blinder007 (Beitrag 1227470)
ich habe die liste auch vorher mit list.create normal erstellt, eine idee, was das problem sein könnte?

Delphi-Quellcode:
list := TList.Create;

p80286 6. Sep 2013 20:32

AW: Records und pointer
 
Ich denke jetzt solltest Du mal Deinen Sourcecode zeigen.
Und die Fehlermeldung vllt. auch noch.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 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