Hallo, bin neu hier. Wenn irgendwas nicht passt bitte ich das zu entschuldigen, werde es in Zukunft besser machen.
Ich wollte gerade mit Lazarus ein Programm zur Verarbeitung von Vektoren schreiben.
Leider scheitert es bei der Übergabe von Variablen, Zahlen oder Inhalten aus einem Edit-Feld an eine Eigenschaft des Objektes.
Das Projekt kompiliert Problemlos, jedoch kommt es zu einem SigSegV-Fehler sobald der Button betätigt wird.
Können Sie einen Fehler entdecken?
Hier der Programm-Code:
Delphi-Quellcode:
Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TVektor = class
xwert, ywert, zwert: real;
constructor create;
// function betrag: real;
end;
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
VektorA: TVektor;
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
VektorA.create;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
VektorA.xwert := StrToFloat(edit1.text);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
VektorA.free;
end;
constructor TVektor.create;
begin
inherited create;
xwert := 0;
ywert := 0;
zwert := 0;
end;
end.
Danke schon einmal für eure Hilfe.