Re: Objekte von Klassen in FreePascal erzeugen
- From: Wolf Behrenhoff <NoSpamPleaseButThisIsValid3@xxxxxxx>
- Date: Thu, 13 Jul 2006 15:16:03 +0200
mario.donick@xxxxxxxxxxxxxx schrieb:
Hallo allerseits,
type TSpieler = class
intHP : integer;
end;
var
MyHero : TSpieler;
begin
MyHero.intHP := 102;
end.
Wenn ich das Programm jedoch ausführe, kommt folgende Fehlermeldung:
Runtime error 216 at $080480D0
Wo liegt mein Fehler?
Wenn du Klassen mit class (statt mit dem alten "object") deklarierst,
dann sind die einzelnen Variablen grundsätzlich nur Zeiger auf ein
Objekt. In deinem Beispiel ist aber noch überhaupt kein Speicher
reserviert. Diese class-Klassen erzeugt man mit einem Konstruktor, der
Standardkonstruktor heißt "Create". Du musst also VOR Verwendung von
HyHero selbigen erst erzeugen. Wenn du nicht spezielles beim Erzeugen
tun musst, dann tut ein "MyHero:=TSpieler.Create;" das, was du willst.
Beachte, dass bei Objekten von Class-Klassen der "." eigentlich "^."
bedeutet.
Wolf
.
- Follow-Ups:
- Re: Objekte von Klassen in FreePascal erzeugen
- From: mario.donick@xxxxxxxxxxxxxx
- Re: Objekte von Klassen in FreePascal erzeugen
- References:
- Objekte von Klassen in FreePascal erzeugen
- From: mario.donick@xxxxxxxxxxxxxx
- Objekte von Klassen in FreePascal erzeugen
- Prev by Date: Re: Objekte von Klassen in FreePascal erzeugen
- Next by Date: Re: Objekte von Klassen in FreePascal erzeugen
- Previous by thread: Re: Objekte von Klassen in FreePascal erzeugen
- Next by thread: Re: Objekte von Klassen in FreePascal erzeugen
- Index(es):