unit MainUnit;
interface
uses Windows,SysUtils,Forms,SystemFunc,Dialogs;
type
TMain = class(TObject)
private
mHasError : Boolean;
mSys : TSystemFunc;
procedure initIntro();
procedure initDataModule();
procedure initScreens();
procedure hasError();
public
constructor create();
end;
const
APPLICATION_TITLE : String = 'Offert-System';
implementation
uses DataModule,CsIntF, EditViewUnit, AboutDialogUnit, Preview,
ProgressbarViewUnit, OffertViewUnit,IntroUnit;
{**
Der Konstruktor initialisiert und registriert alle nötigen Forms.
Ebenfalls wird überprüft ob bereits ein Offert-System gestartet wurde.
Ist dies der Fall, wird die Applikation beendet die gerade gestartet wurde.
}
constructor TMain.create();
var i : Integer;
begin
//Überprüft, dass nur eine Applikation pro PC gestartet wird.
if ( FindWindow( Nil, PChar( APPLICATION_TITLE )) = 0 ) Then
begin
mHasError := False;
//Applikation initialisieren
Application.Initialize;
Application.Title := APPLICATION_TITLE;
initIntro();
//mIntro := TIntroThread.Create(False);
initDataModule();
if(DM.DCOMConnection.Connected) Then IntroForm.ConnectionLabel.Caption := 'Connected ...';
Application.ProcessMessages;
initScreens();
// Intro wird Angehalten
if(not mHasError) Then
begin
IntroForm.StopIntro();
// Haupt-Fenster anzeigen.
OffertViewForm.Show;
end;
Application.Run;
end
else
begin
Windows.Beep(500,250);
MessageDlg( APPLICATION_TITLE + ' is not able to run twice on this PC.', mtError, [mbOK], 0);
end;
end;