Hallo Leute,
habe vor 2 jahren mal mehr schlecht als recht Delphi 5 gelernt und versuche nun nach eineiger Zeit Pause wieder einzusteigen.
Ich habe das Problem, dass ich einen applikationsfehler bekomme, ich aber nicht verstehe warum.
Hier der Quellcode:
__________________________________________________ _____
Unit Eingabemodul;
interface
uses
{
Standart-units}, Rasse, Basis, Kultur, Profes;
Type
TForm1 = class(TForm)
{Die ganze Form halt}
procedure Beenden1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Formactivate(Sender: TObject);
PRIVATE
{private-Daklarationen}
PUBLIC
{public-Deklarationen}
end;
Rassen = TRasse;
var
Form1 : TForm1;
Rassena : ARRAY OF Rassen;
i : INTEGER;
implementation
{$R *.dfm}
procedure TForm1.Formactivate(Sender: TObject);
begin
i := 1;
end;
procedure TForm1.Beenden1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Rassena[i].Name := Edit1.Text; {--> Dort passiert der Fehler!}
Rassena[i].Modi.Lep := STRTOINT(Edit2.Text);
Rassena[i].Modi.Aup := STRTOINT(Edit3.Text);
Rassena[i].Modi.Asp := STRTOINT(Edit4.Text);
Rassena[i].Modi.MR := STRTOINT(Edit5.Text);
Rassena[i].Gross.Min := STRTOINT(Edit6.Text);
Rassena[i].Gross.Zahl := STRTOINT(Edit7.Text);
Rassena[i].Gross.Wuerfel := STRTOINT(Edit8.Text);
Rassena[i].Alter.Min := STRTOINT(Edit9.Text);
Rassena[i].Alter.Zahl := STRTOINT(Edit10.Text);
Rassena[i].Alter.Wuerfel := STRTOINT(Edit11.Text);
Listbox1.Items.Add(Rassena[i].Name);
INC(i);
end;
end.
__________________________________________________ ____
Das war die eine
Unit, jetzt folgt die andere
__________________________________________________ ___
unit Rasse;
interface
uses Basis, Kultur, Profes;
Type
TGross = RECORD
Min : INTEGER;
Zahl: INTEGER;
Wuerfel: INTEGER;
end;
TAlter = RECORD
Min : INTEGER;
Zahl: INTEGER;
Wuerfel : INTEGER;
end;
TRasse = RECORD
Name : STRING;
Modi : TModi; {--> ist in
Unit Basis deklariert}
Gross : TGross;
Alter : TAlter;
SFS : ARRAY OF TSF; {--> ist in
Unit Basis deklariert}
Talent : TTalent; {--> ist in
Unit Basis deklariert}
EKultu : ARRAY OF TKultur; {--> ist in
Unit Basis deklariert}
MKultu : ARRAY OF TKultur; {--> ist in
Unit Basis deklariert}
end;
implementation
end.
__________________________________________________ __________________
Ich denke es ist ein simpler Verknüpfungsfehler zwischen den
Unit, den Kompilieren tu er ja.
Vielleicht muss ich TRasse irgendwie public setzen??
Ich finde den Fehler einfach nicht.
Schon mal Danke an alle