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) pcMain: TPageControl; procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); 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.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 TabSheet: TTabSheet; pnlMain: TPanel; begin if pcMain.PageCount > 0 then pcMain.Pages[0].Free; TabSheet := TTabSheet.Create(pcMain); TabSheet.TabVisible := false; TabSheet.PageControl := pcMain; pcMain.ActivePageIndex := 0; if mr = mrAbort then begin HuidigeGebruikerAfmelden; Application.Terminate; end else begin case mr of mrLogin : fHuidigScherm := TfmLoginScherm2.Create(TabSheet); mrHome : fHuidigScherm := TfmHomeScherm.Create(TabSheet); mrPallet : fHuidigScherm := TfmPalletScherm.Create(TabSheet); mrHernoemPallet : fHuidigScherm := TfmHernoemPalletScherm.Create(TabSheet); mrBestaandePallet : fHuidigScherm := TfmBestaandePalletScherm.Create(TabSheet); mrDnaCode : fHuidigScherm := TfmDnaCodeScherm.Create(TabSheet); mrInfoLog : fHuidigScherm := TfmInfoLogScherm.Create(TabSheet); mrDnaCodeReedsGescand : fHuidigScherm := TfmDnaCodeReedsGescandScherm.Create(TabSheet); end; pnlMain := TPanel.Create(Self); pnlMain.Parent := Self; pnlMain.Align := alClient; fHuidigScherm.Parent := pnlMain; (fHuidigScherm as TfmDrieKnoppenScherm).UiContext := fUiContext; fHuidigScherm.Show; end; end; end.