Hallo!
Ich probiere mich gerade an Klassen aus und bin auf ein von mir unlößbares Problem gestoßen.
Hier erstmal mein bisheriger Code:
Delphi-Quellcode:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 =class;
TTier =
class
private
pArt:
string;
pAlter:integer;
pGeschlecht:
string;
pKrankheit:
string;
public
constructor Create(Krankheit:
string; Geschlecht:
string; Art:
string);
published
property getTierart:
string read pArt;
property getAlter:integer
read pAlter;
property getGechlecht:
string read pGeschlecht;
property getKrankheit:
string read pKrankheit;
end;
TForm1 =
class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
Tier:TTier;
end;
var
Form1: TForm1;
implementation
{ TForm1 }
constructor TTier.Create(Krankheit:
string; Geschlecht:
string; Art:
string);
begin
pAlter:=0;
pGeschlecht:=Geschlecht;
pArt:=Art;
pKrankheit:=Krankheit;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Tier.Create('
Gesund','
Weiblich','
Katze');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=Tier.pKrankheit;
Label2.Caption:=Tier.pArt;
Label3.Caption:=Tier.pGeschlecht;
Label4.Caption:=inttostr(Tier.pAlter);
end;
initialization
{$I unit1.lrs}
end.
jestz bekomme ich wenn ich auf Button1 Klicke eine meldung:
Zitat von
Lazarus:
Project project1 raised
exception class 'External: SIGSEGV'
Was mache ich falsch? weil eigentlich (wenn ich die Fehlermeldung richtig Deute) will der mich ja darauf hinweisen das ich die Klasse nicht "created" habe,oder?
gruß Teekeks