mirror of
https://bitbucket.org/Dennis07/lina-components.git
synced 2025-02-02 10:25:22 +02:00
62559dcad1
Signed-off-by: Dennis07 <den.goehlert@t-online.de>
150 lines
4.7 KiB
ObjectPascal
150 lines
4.7 KiB
ObjectPascal
unit uBase;
|
|
|
|
//////////////////////////////////////
|
|
/// Lina Base Unit ///
|
|
/// **************************** ///
|
|
/// (c) 2014 Dennis Göhlert a.o. ///
|
|
//////////////////////////////////////
|
|
|
|
{$IF CompilerVersion < 18.5}
|
|
{ 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}
|
|
{$IFEND}
|
|
{$IF CompilerVersion < 21.0}
|
|
{ Unter früheren Delphi-Versionen als 2010 gab es ein Problem mit dem
|
|
"crHandPoint" cursor, sodass dieser nicht korrekt unter Windows Vista oder
|
|
höher dargestellt wurde, sondern stattdessen im alten Windows-Look.
|
|
Bei älteren Delphi-Versionen als 2010 steht deswegen eine Pseudo-
|
|
Komponente zur Behebung dieses Problems zur Verfügung. }
|
|
{$DEFINE NO_HANDPOINT}
|
|
{$IFEND}
|
|
{$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}
|
|
{$IFEND}
|
|
{$IF CompilerVersion < 20.0}
|
|
{ Unter früheren Delphi-Versionen als 2009 entsprach der String-Typenalias
|
|
dem AnsiString-Typen. Da es gegebenfalls bei manchen externen (zB. OS-
|
|
Spezifischen) Klassen zu Kompatibilitätsproblemen kommmen könnte, wird
|
|
hier eine Überprüfung der Unicode-Unterstützung durchgeführt.
|
|
Zu beachten ist jedoch, dass Delphi 2009 und höher AnsiStrings implizit
|
|
in UnicodeStrings umwandelt und umgekehrt (sofern möglich). }
|
|
{$DEFINE NO_UNICODE}
|
|
{$IFEND}
|
|
{$DEFINE ADDSPLASHENTRY}
|
|
{$DEFINE ADDABOUTENTRY}
|
|
|
|
|
|
interface
|
|
|
|
{ Dies ist die Basis-Unit für die Lina-Komponenten bzw. Methoden und Klassen }
|
|
|
|
uses
|
|
{ Standard-Units }
|
|
SysUtils, Classes, Dialogs, Graphics, ToolsAPI;
|
|
|
|
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;
|
|
|
|
procedure RegisterPackageOnSplash;
|
|
procedure RegisterPackageOnAbout;
|
|
|
|
const
|
|
ComponentsPage = 'Lina';
|
|
About_Title = 'About...';
|
|
Package_Name = 'Lina Components';
|
|
Package_Description = 'Components and source library for Delphi';
|
|
Package_License = 'Mozilla Public License (MPL) 2.0';
|
|
Package_SKU = '(Dev-Preview)';
|
|
|
|
implementation
|
|
|
|
procedure RegisterPackageOnSplash;
|
|
var
|
|
SplashBitmap: TBitmap;
|
|
begin
|
|
SplashBitmap := TBitmap.Create;
|
|
try
|
|
SplashBitmap.LoadFromFile('..\..\Resource\Lina.bmp');
|
|
(ToolsAPI.SplashScreenServices as IOTASplashScreenServices).AddPluginBitmap(
|
|
Package_Name,SplashBitmap.Handle,False,Package_License,Package_SKU);
|
|
finally
|
|
SplashBitmap.Free;
|
|
end;
|
|
end;
|
|
|
|
procedure RegisterPackageOnAbout;
|
|
begin
|
|
|
|
end;
|
|
|
|
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;
|
|
|
|
initialization
|
|
{$IFDEF ADDSPLASHENTRY}
|
|
RegisterPackageOnSplash;
|
|
{$ENDIF}
|
|
|
|
end.
|