Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
15. Okt 2008
Wichtig für dich wäre noch try..finally. Das benutzt man wie folgt:
procedure TForm1.Button1Click(Sender: TObject);
var test: TMeineDaten;
begin
test:=TMeineDaten.create;
try
test.Wert1:=strtoint(edit1.text);
test.Wert2:=strtoint(edit2.text);
label1.caption:=inttostr(test.ergebnis);
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
15. Okt 2008
Die Objekterstellung ist abgeschlossen, wenn du im constrcutor bist.
Der Code zum Erstellen der Instanz fügt der Compiler bei dem Wort "begin" des Constructors ein. Also, wie gesagt, direkt am Anfang.
Edit: Vielleicht mal konkret.
Jede Methode bekommt ja immer mindestens den Parameter "self" übergeben. Damit kannst du ja auf die Felder deiner Klasse zugreifen. Der Constructor bekommt...
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
14. Okt 2008
TMeineDaten = class(TObject)
private
fWert1 : Integer;
fWert2 : Integer;
FErgebnis: Integer;
FBerechnet: Boolean;
procedure SetWert1(const Value: Integer);
procedure SetWert2(const Value: Integer);
function GetErgebniss(): Integer;
public
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
14. Okt 2008
Dann lass doch den Setter bei Ergebnis weg und lass auch gleich fErgebnis weg und gebe bei GetErgebnis einfach die summe zurück.
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
14. Okt 2008
Wenn du einen Constrcutor mit xyz:=TKlasse.create (create ist jetzt der constructor, was ja normalerweise in Delphi auch so ist) aufrufst, führt der Compiler zu Beginn (und auch am Ende) des Constructors noch etwas Code ein. Dieser hat die Aufgabe den Speicherplatz zu reservieren, der für alle deine Felder (Variablen in der Klasse) benötigt werden. Einen Zeiger auf den Speicherplatz bekommst du...