Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Private/Public in Unit mit gesammelten Funktionen ala Math (https://www.delphipraxis.net/169223-private-public-unit-mit-gesammelten-funktionen-ala-math.html)

Jumpy 6. Jul 2012 09:04

AW: Private/Public in Unit mit gesammelten Funktionen ala Math
 
Zitat:

Zitat von himitsu (Beitrag 1173687)
Alles was im "interface" veröffentlicht wird, ist puclic.
Alles was nur in der "implementation" auftaucht, ist quasi private.

Hab mal nur himitsu zitiert, da's am kürzesten war :-)

Danke für die Aufklärung, hätt ich auch selber drauf kommen können. Hatte mich eh schon gewundert, warum im implementation Teil nochmal nur Funktionsrümpfe mit 'ner Vorwärtsdeklaration standen, aber das macht ja dann Sinn, wenn diese Funktionen erst noch weiter unten implementiert, aber schon weiter oben gebraucht werden.

Hatte schon gedacht mir mit dem Konstrukt der Funktion in einer Funktion zu helfen, ala:

Delphi-Quellcode:
function ABC:String;
function Hilfsfunktion:String;
begin
//Mach was
end;
begin
//Mach was und ruf dabei Hilfsfunktion auf
end;
Aber das wäre spätestens dann blöd geworden, wenn ich eine Hilfsfunktion in einer weiteren Funktion ein zweites mal hätte brauchen können. Zudem finde ich diese Konstruktion immer unübersichtlich, da sie oft auch dazu führt, das eine Funktion über mehr als eine Bildschirmseite geht (versuch ich immer zu vermeiden).

@shmia:
Idee ist Prozeduren, die ich mal häufiger brauche an einer(?) Stelle zusammenzufassen. Nur als Bsp.: Ich brauche aus Math eigentl. immer nur Max und Min. Binde aber jedes mal komplett Math dafür ein. Soll quasie sowas wie meine Top10-Tools-Sammlung werden.

himitsu 6. Jul 2012 09:28

AW: Private/Public in Unit mit gesammelten Funktionen ala Math
 
Forwad kann man auch in der Implementation benutzen.

Delphi-Quellcode:
function XYZ: string;
  forward;

function ABC: string;
begin
  Result := XYZ;
end;

function XYZ: string;
begin
  Result := ABC;
end;
Delphi-Quellcode:
interface

function ABC:String;

implementation

function Hilfsfunktion:String;
begin
//Mach was
end;

function ABC:String;
begin
  Resulz := Hilfsfunktion;
end;
"neuere" Delphis (seit mindestens 2006) können auch Typen verschachteln. (engebettete Typen, oder wie man das nennt)

Delphi-Quellcode:
interface

type
  TPublicClass = class
  private type
    TPrivateClass = class
    end;
  private
    function PFunc: TPrivateClass;
  public

  end;

implementation

type
  TUnitPrivate = class
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr.
Seite 2 von 2     12   

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