Autor Beitrag
Anfänger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP
D3 Prof
BeitragVerfasst: Do 11.03.04 23:01 
Ich habe zwar keine Lösung, da ich probleme mit der Zugriffsverletzung habe, aber ich denke es dürfte weiter helfen.

Das Problem ist aber noch, dass ich an die Variable nicht heran komme.

Übrigens ich habe mir erlaubt eine Forschleife zu verwenden um die Werte zuzuweisen, was natürlich bei anderen Werten nicht funktioniert.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
type
  MyClass = class (TObject)
    aryDaten : array[0..14of Integer;
    procedure MyClassCreate;
  end;

var
  Form1: TForm1;
  MyClass1:MyClass;

implementation

{$R *.DFM}

procedure MyClass.MyClassCreate;
var I:Integer;
begin
  For I:=0 to 14 do
  MyClass1.aryDaten[I]:=32*I;

  Form1.Canvas.TextOut(10,10,IntToStr(MyClass1.aryDaten[0])); //zum Testen ersten Wert auf der Form1 darstellen
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  MyClass1.MyClassCreate;
end;


Meinen Fehler weiß bestimmt jemand. :wink:
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Do 11.03.04 23:32 
Hallo,

@Anfänger

Anfänger hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure MyClass.MyClassCreate;
var I:Integer;
begin
  For I:=0 to 14 do
  MyClass1.aryDaten[I]:=32*I;

  Form1.Canvas.TextOut(10,10,IntToStr(MyClass1.aryDaten[0])); //zum Testen ersten Wert auf der Form1 darstellen
end;


Wieso arbeitest du innerhalb einer Methode mit dem globalen Objekt MyClass1. Das ist nicht Sinn einer Klasse. So sollte es aussehen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure MyClass.MyClassCreate;
var I:Integer;
begin
  For I:=0 to 14 do
    aryDaten[I]:=32*I;

  Form1.Canvas.TextOut(10,10,IntToStr(aryDaten[0])); //zum Testen ersten Wert auf der Form1 darstellen
end;


Der Grund für deine Zugriffsverletzung ist wahrscheinlich, dass du deinem Objekt MyClass1 vorher keine Referenz zuweist:

ausblenden Delphi-Quelltext
1:
MyClass1 := MyClass.Create;					


MFG

- Ernesto -