Delphi-Quellcode:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Fechter, StdCtrls;
const Start_geld = 1000;
Start_Fechter = 335;
//max 335
Start_Trainer = 1;
Start_Kassier_Proz = 10;
type
TForm1 =
class(TForm)
Showing: TStatusBar;
Test: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
FechterListe :
Array [1..200]
of TFechter;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i : Integer;
TestL : TStringlist;
begin
// Initialisierung
For i := 1
to Start_Fechter
do
FechterListe[i] := TFechter.Create;
TestL := TStringlist.Create;
for i := 1
to Start_Fechter
do
begin
TestL := FechterListe[i].getInfo;
Test.Lines.Add('
Fechter ' + IntToStr(i));
Test.Lines.Add('
Name: ' + TestL[0] + '
' + TestL[1]);
Test.Lines.Add('
Geschlecht: ' + TestL[2]);
Test.Lines.Add('
Alter: ' + TestL[3]);
Test.Lines.Add('
Talent: ' + TestL[4]);
Test.Lines.Add('
Kondition: ' + TestL[5]);
Test.Lines.Add('
Wille: ' + TestL[6]);
Test.Lines.Add('
Beinarbeit: ' + TestL[7]);
Test.Lines.Add('
Erfahrung: ' + TestL[8]);
Test.Lines.Add('
----------------');
end;
TestL.Destroy;
Showing.Panels[0].text := '
Geld: ' + IntToStr(Start_Geld);
Showing.Panels[1].text := '
Fechter: ' + IntToStr(Start_Fechter);
Showing.Panels[2].text := '
Trainer: ' + IntToStr(Start_Trainer);
end;
end.
Wenn ich bei start_Fechter jetzt 336 hinschreibe kommt am ende des Porgrammes(beim schließen) dieser fehler:
Zitat:
---------------------------
Error
---------------------------
Runtime error 216 at 009A489C
---------------------------
OK
---------------------------
wenn ich noch mehr hinschreibe .. also 400 zb dann kommt am anfang beim starten des Programmes
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt Fechttrainer.exe ist eine
Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 009AA8F7. Schreiben von Adresse 011584BA'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
und
Zitat:
---------------------------
Fechttrainer
---------------------------
Zugriffsverletzung bei Adresse 009AA8F7. Schreiben von Adresse 011584BA.
---------------------------
OK
---------------------------
und am ende des programmes(im memo wird auch nichts angezeigt)
Zitat:
---------------------------
Error
---------------------------
Runtime error 216 at 009A489C
---------------------------
OK
---------------------------
liegt das daran dass das memo nicht mehr zeilen packen kann oder ist das was anderes
Delphi 7 Enterprise
danke
Nico
ps.: die fechterunit macht nichts besonderes außer werte zufällig vergeben und mit eienr get methode abrufen lassen
ps2.: sehr schöne codeformatierung oder