Ich, als Anfänger, versuche mich gerade an einem Textadventure. Dazu möchte ich die Eigenschaften von Gegenstädnen in einem type speichern, welcher wiederum in einem type eines Raumes auftaucht:
Delphi-Quellcode:
type
TInventar = class
Name : String;
end;
type
TRaum = class
Name : String;
Objekte : Array[1..5] of TInventar;
end;
[....]
var
Form1 : TForm1;
Keller : TRaum;
Futter : TInventar;
Wenn ich das ganze dann erstelle und zuordne:
Delphi-Quellcode:
Keller := Traum.Create;
Keller.Name := ('Keller');
Keller.Objekte[1] := Futter;
[....]
Futter := TInventar.create;
Futter.Name := 'riesen Haufen Futter';
müsste ich ja eigentlich mit
label2.caption := Keller.Objekte[1].Name;
den Namen des Objekts (riesen Haufen Futter)ausgeben können dachte ich..
Nur Leider mag Delphi das nicht:
Zitat:
Im Projekt Project1.exe ist eine
Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00453B49 in Modul 'Project1.exe'. Lesen von Adresse 00000004'. Prozess wurde angehalten. Mit Einselne Anweisung oder Start fortsetzen
Und er markiert mir diese Zeile:
label2.caption := Keller.Objekte[1].Name;
Hat da jemand eine Idee???
Danke!
Edit1: Variablen deklaration eingefügt