unit uBase; ////////////////////////////////////// /// Lina Base Unit /// /// **************************** /// /// (c) 2014 Dennis Göhlert a.o. /// ////////////////////////////////////// {$IF CompilerVersion < 18.0} { Unter früheren Delphi-Versionen als 2007 gab es (offiziell) noch keine Unterstützung für Windows-Vista-spezifische funktionen wie die TaskDialog- Komponente oder einige Funktionen. Damit dies nicht zu Problemen führt, geht der Compiler darauf mithilfe dieser Direktive ein. } {$DEFINE NO_VISTA} {$ENDIF} {$IF CompilerVersion < 20.0} { Unter früheren Delphi-Versionen als 2009 war die Nutzung generischer Datentypen (Generics) nicht möglich. Da es ohne diese nahezu unmöglich scheint, typisierte Objekte, wie zum Beispiel typisierte TObjectList's zu deklarieren, fallen diese Deklarationen unter früheren Delphi-Versionen weg. Dies kann eventuell zu kompatibilitätsproblemen zwischen unterschiedlichen Nutzern dieser Komponenten führen, lässt sich aber nicht vermeiden. } {$DEFINE NO_GENERIC} {$ENDIF} interface { Dies ist die Basis-Unit für die Lina-Komponenten bzw. Methoden und Klassen } uses { Standard-Units } SysUtils, Dialogs; type TComponentAbout = class private { Private-Deklarationen } FComponent: ShortString; FVersion: Single; FAuthor: ShortString; FCopyright: ShortString; FHomepage: ShortString; protected { Protected-Deklarationen } published property Component: ShortString read FComponent; property Version: Single read FVersion; property Copyright: ShortString read FCopyright; property Author: ShortString read FAuthor; property Homepage: ShortString read FHomepage; public { Public-Deklarationen } constructor Create(Comp: ShortString = ''; Ver: Single = 1.0; Copy: ShortString = ''; Auth: ShortString = ''; Home: ShortString = ''); { Über-Dialog } procedure AboutDlg; end; const ComponentsPage = 'Lina'; About_Title = 'About...'; implementation constructor TComponentAbout.Create(Comp: ShortString = ''; Ver: Single = 1.0; Copy: ShortString = ''; Auth: ShortString = ''; Home: ShortString = ''); begin FComponent := Comp; FVersion := Ver; FCopyright := Copy; FAuthor := Auth; FHomepage := Homepage; end; procedure TComponentAbout.AboutDlg; begin {$IFDEF NO_VISTA} { MessageDlg, falls der Compiler KEINE Vista-Dialoge unterstützt } MessageDlg( {$ELSE} { TaskMessageDlg, falls der Compiler Vista-Dialoge unterstützt } TaskMessageDlg( {$ENDIF} About_Title, { ---------------------------------- } Component + ' v' + FloatToStr(Version) + #10#13 + Copyright + ' ' + Author + #10#13 + Homepage, { ---------------------------------- } mtInformation, { ---------------------------------- } [mbClose],0) end; end.