Hallo,
kann mir jemand erklären warum folgender Code in Delphi funktioniert?
Code:
unit Unit1;
interface
uses
Forms, Classes, Controls, StdCtrls, SysUtils;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
TMyObject = class(TObject)
ID: Integer;
end;
var
Form1: TForm1;
//MyObject: TMyObject; //<-- kann ich auch nicht Global benutzen
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
MyObject: TMyObject;
begin
MyObject.ID := 112;
Form1.Caption := IntToStr(MyObject.ID);
MyObject.ID := 0; //<-- wenn diese Zeile rausgelassen wird kommt eine Zugriffsverletzung
end;
end.
Ich benutze es nicht, mich würde aber interessieren warum es zulässig ist auf eine Property eines Objects zuzugreifen, ohne dieses vorher erzeugen zu müssen.
Gruß, Marco.