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, Vcl.ComCtrls, Vcl.ExtCtrls; type TfmProScanHoofdscherm = class(TForm) pnlMain: TPanel; procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private fUiContext: TUiContext; fHuidigScherm: TForm; procedure HuidigeGebruikerAfmelden; public property UiContext: TUiContext read fUiContext; procedure NavigeerNaar(mr: TModalResult); 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); begin NavigeerNaar(mrLogin); end; procedure TfmProScanHoofdscherm.FormClose(Sender: TObject; var Action: TCloseAction); begin TAgent.Create(UiContext).GebruikerAfmelden(); end; procedure TfmProScanHoofdscherm.FormCreate(Sender: TObject); begin fUiContext := TUiContext.Create(); fUiContext.ImagesScherm := TImagesScherm.Create(self); if ParamStr(1)='displaymode=desktop' then begin Self.BorderStyle := bsSingle; Self.ClientHeight := 640; Self.ClientWidth := 480; end; end; procedure TfmProScanHoofdscherm.HuidigeGebruikerAfmelden; begin TAgent.Create(UiContext).GebruikerAfmelden(); end; procedure TfmProScanHoofdscherm.NavigeerNaar(mr: TModalResult); var pnlMain: TPanel; begin Application.ProcessMessages; pnlMain := TPanel.Create(Self); pnlMain.Parent := Self; pnlMain.Align := alClient; if mr = mrAbort then begin HuidigeGebruikerAfmelden; Application.Terminate; end else begin case mr of mrLogin : fHuidigScherm := TfmLoginScherm2.Create(pnlMain); mrHome : fHuidigScherm := TfmHomeScherm.Create(pnlMain); mrPallet : fHuidigScherm := TfmPalletScherm.Create(pnlMain); mrHernoemPallet : fHuidigScherm := TfmHernoemPalletScherm.Create(pnlMain); mrBestaandePallet : fHuidigScherm := TfmBestaandePalletScherm.Create(pnlMain); mrDnaCode : fHuidigScherm := TfmDnaCodeScherm.Create(pnlMain); mrInfoLog : fHuidigScherm := TfmInfoLogScherm.Create(pnlMain); mrDnaCodeReedsGescand : fHuidigScherm := TfmDnaCodeReedsGescandScherm.Create(pnlMain); end; fHuidigScherm.Parent := pnlMain; (fHuidigScherm as TfmDrieKnoppenScherm).UiContext := fUiContext; fHuidigScherm.Show; end; end; end.