Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#14

AW: Compilerschalter für Framework

  Alt 10. Mai 2015, 11:01
Delphi-Quellcode:
unit VCL.FeigFrameworkCheck;

interface

const
  FeigFramework = 'VCL';

implementation

end.
Delphi-Quellcode:
unit FMX.FeigFrameworkCheck;

interface

const
  FeigFramework = 'FMX';

implementation

end.
Delphi-Quellcode:
uses
  // Namespace/Unitscope: System, VCL/FMX, [Winapi]
  FeigFrameworkCheck,
  {$IF Defined(MSWINDOWS) and (FeigFramework = 'VCL')}
    {$IF CompilerVersion >= 24}
      Winapi.Windows,
    {$ELSE}
      Windows,
    {$IFEND}
  {$IFEND}
  SysUtils, Math;
Delphi-Quellcode:
uses
  // Namespace/Unitscope: System, Vcl/Fmx, [Winapi], [Feig]
  // Vcl.ExtCtrls and Fmx.Types for TTimer
  {$IF Defined(MSWINDOWS) and (FeigFramework = 'VCL')}
    {$IF CompilerVersion >= 24}
      Winapi.Windows,
    {$ELSE}
      Windows,
    {$IFEND}
    Vcl.ExtCtrls,
  {$ELSE}
    Fmx.Types,
  {$IFEND}
  Math, SysUtils, Classes, Feig.Types, Feig.USB, Feig.ISC;
Sieht bei mir so aus, wobei ich grade überlegt das eher auf FeigFrameworkIsVCL und FeigFrameworkIsFMX (Boolean) umzustellen.
Die erste Überlegung war mal ... Wer weiß was nach FMX kommt. (FMX4, FMX5, CLX und die vielen .NET-Formsdinger)

Aber sicherheitshalber kommt noch ein {$IFNDEF MSWINDOWS} in die VCL-Datei kommt, falls jemand VCL auch in iOS/Android/Linux/MacOS definiert hat.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (10. Mai 2015 um 11:06 Uhr)
  Mit Zitat antworten Zitat