Ich habe folgenden Code:
Unit1:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 =
class(TForm)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.FormCreate(Sender: TObject);
var
test: TTest;
begin
test := TTest.Create;
Sleep(1000);
test.Free;
end;
end.
Unit2:
Delphi-Quellcode:
unit Unit2;
interface
uses Windows, Classes;
type
TTest =
class(TObject)
private
{ private-Deklarationen }
constructor Create;
protected
{ protected-Deklarationen }
public
{ public-Deklarationen }
published
{ published-Deklarationen }
end;
implementation
{ TTest }
constructor TTest.Create;
begin
inherited;
end;
end.
Theoretisch sollte der Konstruktor von TTest in Unit1 nicht mehr sichtbar sein. Ich kann aber den Code ohne Probleme compilieren. Warum?