Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Sichtbarkeitsmodifizierer in Forms / Singleton (https://www.delphipraxis.net/114943-sichtbarkeitsmodifizierer-forms-singleton.html)

HeinzJ 3. Jun 2008 09:22


Sichtbarkeitsmodifizierer in Forms / Singleton
 
Welche Sichtbarkeit haben die Members und Variablen die von Delphi defaultmäßig NICHT als private oder public deklariert werden. Bei Einordnung der Create u. DataModuleCreate Procedure in einen protected Abschnitt wirft mein Peogramm Fehler. Mein Ziel ist es diese beiden Proceduren zu verbergen und den Aufruf nur noch per GetInstance (Singleton Muster) zu realisieren.


Code ohne Fehler

Delphi-Quellcode:
type
  T_dmConnection = class(TDataModule)
    ADOConSRVCharter: TADOConnection;
    ADOConVesseldatabase: TADOConnection;
    constructor Create (AOwner: TComponent); override;
    procedure DataModuleCreate(Sender: TObject);      
  strict private
  class var
    FInstance:T_dmConnection;
  public
    class function GetInstance: T_dmConnection;
  end;

Code mit Fehler
Delphi-Quellcode:
type
  T_dmConnection = class(TDataModule)
    ADOConSRVCharter: TADOConnection;
    ADOConVesseldatabase: TADOConnection;
  protected
    constructor Create (AOwner: TComponent); override;
    procedure DataModuleCreate(Sender: TObject);      
  strict private
  class var
    FInstance:T_dmConnection;
  public
    class function GetInstance: T_dmConnection;
  end;

mkinzler 3. Jun 2008 09:38

Re: Sichtbarkeitsmodifizierer in Forms / Singleton
 
Im obersten Teil ohne Sichtbarkeitsmodifizierer sthen die managed Member und Methoden, diese werden von der IDE verwaltet und sind auch überall sichtbar. Dort sollte man händisch nicht machen.

Kruemel_02 3. Jun 2008 09:42

Re: Sichtbarkeitsmodifizierer in Forms / Singleton
 
Zitat:

Zitat von HeinzJ
Welche Sichtbarkeit haben die Members und Variablen die von Delphi defaultmäßig NICHT als private oder public deklariert werden.

Schau hier mal unter Zugriffsrechte oder evtl. noch hier.

Ich hoffe ich habe die Frage richtig verstanden. ;)

HeinzJ 3. Jun 2008 11:10

Re: Sichtbarkeitsmodifizierer in Forms / Singleton
 
Zitat:

Im obersten Teil ohne Sichtbarkeitsmodifizierer sthen die managed Member und Methoden, diese werden von der IDE verwaltet und sind auch überall sichtbar. Dort sollte man händisch nicht machen.
Das habe ich ja nun auch festgestellt. :wink: Nur das Verständniss dafür fehlt mir momentan. Standardmäßig ist die Zugriffsebende published. Mir scheint dass die von der IDE gemanageden Proceduren (Create) per se Published sein müssen.

jbg 3. Jun 2008 11:37

Re: Sichtbarkeitsmodifizierer in Forms / Singleton
 
Zitat:

Zitat von HeinzJ
Mir scheint dass die von der IDE gemanageden Proceduren (Create) per se Published sein müssen.

Create muss nicht published sein. Du kannst aber die Sichtbarkeit einer Methode (in diesem Fall public) nicht verringern, denn über die Basisklasse hättest du ja wieder Zugriff darauf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz