Hallö,
Ich bin noch ein ziemlicher Neuling, was Klassen in Delphi betrifft. In meinem Informatikkurs haben wird es heute erst begonnen. Das System der
OOP ist mir aber von C++ bereits geläufig, da habe ich mir gedacht: Mach es Mal fertig, aber kaum eine Stunde programmiert, sind meine Grundfeste erschüttert. Hier der problematische Ausschnitt
Delphi-Quellcode:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls;
type
TWuerfel =
class (TObject)
private
// Membervariablen
m_Augen: integer;
public
// Memberfunktionen
function getAugen (): integer;
procedure setAugen (worth: integer);
procedure werfen (TBBActual: TBitBtn);
end;
var
Wuerfel:
array[1..3]
of TWuerfel;
implementation
{$R *.dfm}
//TWuerfel
//Memberfunktionen
// getAugen
function TWuerfel.getAugen (): integer;
begin
getAugen:= m_Augen;
end;
//getAugen
// setAugen
procedure TWuerfel.setAugen (worth: integer);
begin
m_Augen:= worth;
// Hier wird Zugriffsverletzung angezeigt
end;
//setAugen
//Beliebige Funktionen
// werfen
// Aufgabe: Zufallszahl bestimmen und auf Würfel ausgeben
procedure TWuerfel.werfen (TBBActual: TBitBtn);
begin
// Zufallszahl würfeln
randomize;
setAugen (random (6)+1);
// Ergebnis anzeigen
TBBActual.Glyph.LoadFromFile (intToStr (getAugen) + '
.bmp');
end;
//werfen
end.
Tja, setAugen tritt mein Problem auf, eine Zugriffsverletzung. Fehlermeldung im Anhang.
Meine Frage ... Hat das überhaupt etwas mit der Variable an sich zu tun? Denn diese habe ich lustig hin und her geschoben und der Fehlercode bleibt immer der gleiche. Wie sähen Mögliche Lösungen aus? Ich hoffe man kann mir helfen!!!
Danke im Voraus
Vinzent Rittel