![]() |
[BDS2006] Create wird nicht versteckt?
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? |
Re: [BDS2006] Create wird nicht versteckt?
Er findet ja den Construktor der Basisklasse und wird diesen verwenden.
|
Re: [BDS2006] Create wird nicht versteckt?
AFAIR kann man keine Methoden mit einer höheren Sichtbarkeit in ihrer Sichtbarkeit verringern. Immer nur erhöhen.
|
Re: [BDS2006] Create wird nicht versteckt?
Zitat:
|
Re: [BDS2006] Create wird nicht versteckt?
Dann sind die ganzen Tipps, die sowas vorschlagen also für'n A.... ...
Aber wie könnte ich den Konstruktor verstecken, damit ich z.B. eine Klasse schreiben kann, die nur unter bestimmten Umständen (z.B. aus einer anderen Klasse heraus) instanziiert werden kann? |
Re: [BDS2006] Create wird nicht versteckt?
Deklariere sie im Interface-Teil der Unit (die andere Klasse muß sich dann in der selben Unit befinden)
|
Re: [BDS2006] Create wird nicht versteckt?
Zitat:
|
Re: [BDS2006] Create wird nicht versteckt?
Zitat:
![]() Uli. |
Re: [BDS2006] Create wird nicht versteckt?
Zitat:
Habe aber gehofft, es gibt eine Möglichkeit ohne Exception... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz