Identifikatoren anderer Einheiten über eine neue Einheit nach außen verfügbar machen
Gelegentlich müssen Sie Identifikatoren aus einer anderen Einheit in der aktuellen neuen Einheit neu exportieren und freigeben. Das Ergebnis: Wenn Sie nur diese neue Einheit einbinden, können Sie diese Identifikatoren direkt verwenden.
Einsatzszenarien:
- Kompatibilität mit älteren Einheitsversionen sicherstellen und alte Aufrufsyntax beibehalten;
- Interne unterlagernde Einheiten kapseln und zugrundeliegende Implementierungsdateien nach außen verbergen.
Realisierung: Definiere im Abschnitt interface der aktuellen Einheit gleichnamige / alias-Identifikatoren neu, um Typen und Konstanten der unterlagernden Einheit weiterzuleiten.
MyUnit.pas bearbeiten
unit MyUnit;
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
interface
uses Graphics;
type
// Variante 1: Alias erstellen, Graphics.TColor nach außen als TMyColor anbieten
TMyColor = TColor;
// Variante 2: Unter Originalnamen freigeben; Einheitsqualifizierer Graphics. ist erforderlich um zirkuläre Selbstverweise zu vermeiden
TColor = Graphics.TColor;
const
// Auch Konstanten unterstützen die Weiterleitung zur Freigabe
clYellow = Graphics.clYellow;
clBlue = Graphics.clBlue;
implementation
end.Code-Sprache: JavaScript (javascript)
Vollständiges Beispiel
unit MyUnit;
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
interface
uses Graphics;
type
// 1 Graphics.TColor Typalias TMyColor
TMyColor = TColor;
// 2 Originalnamen freigeben
// mit Graphics. qualifizieren um Schleifenverweise zu verhindern
TColor = Graphics.TColor;
const
// Konstanten funktionieren ebenfalls
clYellow = Graphics.clYellow;
implementation
end.Code-Sprache: PHP (php)
Hauptprogramm
program showcolor;
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
uses MyUnit;
var
C1: TMyColor;
C2: TColor;
begin
C1 := clYellow;
C2 := clYellow;
end.
Code-Sprache: PHP (php)

Im Hauptprogramm verwenden wir die umbenannten Bezeichnungen aus MyUnit.

Previous: Unit-qualifizierte Bezeichner
Next: Was ist eine Klasse