unit ProScanMain; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ActnList, UiContext, Vcl.AppEvnts; type TfmProScanHoofdscherm = class(TForm) procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); private fUiContext: TUiContext; fHuidigScherm: TForm; fLoginScherm2: TForm; fHomeScherm: TForm; fPalletScherm: TForm; fBestaandePalletScherm: TForm; fDnaCodeScherm: TForm; fInfoLogScherm: TForm; fHernoemPalletScherm: TForm; fDnaCodeReedsGescandScherm: TForm; procedure HuidigeGebruikerAfmelden; public property UiContext: TUiContext read fUiContext; end; var fmProScanHoofdscherm: TfmProScanHoofdscherm; implementation uses LoginScherm2, GebruikerService, HomeScherm, DrieKnoppenScherm, PalletScherm, BestaandePalletscherm, DnaCodeScherm, InfoLogScherm, Images, HernoemPalletScherm, DimmerForm, DnaCodeReedsGescandScherm, Agent; {$R *.dfm} procedure TfmProScanHoofdscherm.FormActivate(Sender: TObject); var fModalResult: TModalResult; begin fModalResult := mrNone; while fModalResult <> mrAbort do begin (fHuidigScherm as TfmDrieKnoppenScherm).UiContext := fUiContext; fModalResult := fHuidigScherm.ShowModal; fUiContext := (fHuidigScherm as TfmDrieKnoppenScherm).UiContext; fHuidigScherm.Free; case fModalResult of mrLogin : fHuidigScherm := TfmLoginScherm2.Create(Self); mrHome : fHuidigScherm := TfmHomeScherm.Create(Self); mrPallet : fHuidigScherm := TfmPalletScherm.Create(Self); mrHernoemPallet : fHuidigScherm := TfmHernoemPalletScherm.Create(Self); mrBestaandePallet : fHuidigScherm := TfmBestaandePalletScherm.Create(Self); mrDnaCode : fHuidigScherm := TfmDnaCodeScherm.Create(Self); mrInfoLog : fHuidigScherm := TfmInfoLogScherm.Create(Self); mrDnaCodeReedsGescand : fHuidigScherm := TfmDnaCodeReedsGescandScherm.Create(Self); end; end; HuidigeGebruikerAfmelden; Application.Terminate; end; procedure TfmProScanHoofdscherm.FormCreate(Sender: TObject); begin fUiContext := TUiContext.Create(); fUiContext.ImagesScherm := TImagesScherm.Create(self); {fLoginScherm2 := TfmLoginScherm2.Create(Self); fHomeScherm := TfmHomeScherm.Create(Self); fPalletScherm := TfmPalletScherm.Create(Self); fBestaandePalletScherm := TfmBestaandePalletScherm.Create(Self); fDnaCodeScherm := TfmDnaCodeScherm.Create(Self); fInfoLogScherm := TfmInfoLogScherm.Create(Self); fHernoemPalletScherm := TfmHernoemPalletScherm.Create(Self); fDnaCodeReedsGescandScherm := TfmDnaCodeReedsGescandScherm.Create(Self); } fHuidigScherm := TfmLoginScherm2.Create(Self); end; procedure TfmProScanHoofdscherm.HuidigeGebruikerAfmelden; begin TAgent.Create(UiContext).GebruikerAfmelden(); end; end.