ich bin noch etwas neu in der Lazarus und Pascal-Welt.
Ich teste grade ein wenig mit Klassen, Feldern und Eigenschaften herum.
Folgendes Problem, ich habe mir eine Test-Klasse angelegt, und in dieser ein Feld angelegt. Jetzt erstelle ich in einer Klasse B ein Objekt der Klasse A und möchte dann in Klasse B auf das Feld zugreifen. Hier kommt dann der SIGSEGV
Klasse A
Code: Alles auswählen
unit test;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
type
TTest = class
public
Value: integer;
constructor Create();
end;
implementation
constructor TTest.Create;
begin
inherited;
Value := 0;
end;
end.
Klasse B
Code: Alles auswählen
unit gui;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
test;
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
t:TTest;
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
t.Create();
ShowMessage(IntToStr(t.Value));
end;
end.
Was übersehe ich hier?
Vielen dank für eure HIlfe
Gruß