Hierzu eine abschließende Frage:
Utils.Logging.pas:
- enthält Funktionen und Prozeduren betreffend "Logging"
- Funktionen und Prozeduren von Utils.Logging können von anderen Units verwendet werden, indem man die Utils.Logging-
Unit in weitere Units einbindet
Types.Logging.pas:
- enthält Record-s, Class-es, Enums etc, welche
nur in Utils.Logging verwendet werden
- wird in Utils.Logging.pas eingebunden, sonst nirgendwo
Ist das richtig so von der Logik oder stelle ich mir gerade ein Bein und habe irgendetwas noch nicht verstanden?
Sinn soll es ja u.a. sein, dass man so wenig Abhängigkeiten zu anderen Units wie möglich hat nehme ich an?
Falls dem so ist, darf man denn dann überhaupt in Utils.Logging.pas weitere Units einbinden?
Angenommen ich habe eine
Unit mit Variablen die programmweit verfügbar sein sollen und eine davon benötige ich in Utils.Loggins.pas.
Wie sähe das konkret aus?
Hier ist das, was ich bisher verstanden habe
Delphi-Quellcode:
unit Types.Logging;
interface
uses
System.Classes, System.SysUtils, ...;
type
TBeispielEnum = (test, blub);
implementation
end.
/////////////////////////////////////////////////
unit Utils.Logging;
interface
uses
Types.Logging,
// darf Types.Logging verwenden für eventuelle spätere Zugriffe auf TBeispielEnum (?)
System.Classes, System.SysUtils, ...;
type
TLogging=
class
private
//
public
class function Test(iiiii: Integer): Integer;
static;
end;
implementation
// uses .... ; // <= andere Units des Programms einbinden, ist das erlaubt?
class function TLogging.Test(iiiii: Integer): Integer;
begin
Result := iiiii + 1;
end;
end.
////////////////////////////////////////
showmessage( IntToStr( TLogging.Test(1) ) );
P.S.: der Code würde -50 von 100 Punkten erhalten, wenn es um den Sinn und die Funktionalität ginge.