Index: VerpakkingsDefinitie/Main.pas =================================================================== diff -u -r551 -r552 --- VerpakkingsDefinitie/Main.pas (.../Main.pas) (revision 551) +++ VerpakkingsDefinitie/Main.pas (.../Main.pas) (revision 552) @@ -6,7 +6,7 @@ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, - ApplicationContext; + ApplicationContext, Agent; const NAVHOME = 0; @@ -16,14 +16,14 @@ type TFormMain = class(TForm) PanelMain: TPanel; - procedure FormCreate(Sender: TObject); - procedure NavigeerNaar(schermId: Integer); + procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); private - fAppContext: TApplicationContext; - fHuidigScherm: TForm; + FAppContext: TApplicationContext; + FHuidigScherm: TForm; + FAgent: TAgent; public - { Public declarations } + procedure NavigeerNaar(schermId: Integer); end; var @@ -36,10 +36,16 @@ {$R *.dfm} +procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean); +begin + FAgent.GebruikerAfmelden(FAppContext.UserServerServiceContext); // Antwoord wordt genegeerd +end; + procedure TFormMain.FormCreate(Sender: TObject); begin - fAppContext := TApplicationContext.Create(); - { TODO -cMain: Wat doet dit in de originele applicatie?: fUiContext.ImagesScherm := TImagesScherm.Create(self); } + FAppContext := TApplicationContext.Create(); + FAgent := TAgent.Create(); + { TODO -cMain: Wat doet dit in de originele applicatie?: fUiContext.ImagesScherm := TImagesScherm.Create(self); } { TODO -cMain: Kijken of "VerwerkParamStrings;" nodig is } { TODO -cNavigatie : 'Scherm' cre�ren vanuit code. Tweede 'scherm' maken met twee secties (30%-70%). } @@ -50,26 +56,25 @@ Self.NavigeerNaar(NAVLOGIN); end; -// { TODO -cMain: afmeld optie toevoegen } - +// Dit event wordt altijd aangeroepen, OnClose niet procedure TFormMain.NavigeerNaar(schermId: Integer); begin Application.ProcessMessages; // Interrupts the execution of an application so that it can process the message queue. // Volgende subscherm laden in panel - fHuidigScherm.Free; + FHuidigScherm.Free; case schermId of NAVHOME: - fHuidigScherm := TFormZoekProducten.Create(PanelMain, Self, fAppContext); + FHuidigScherm := TFormZoekProducten.Create(PanelMain, Self, FAppContext); NAVLOGIN: - fHuidigScherm := TFormLogin.Create(PanelMain, Self, fAppContext); + FHuidigScherm := TFormLogin.Create(PanelMain, Self, FAppContext, FAgent); NAVZOEKPRODUCTEN: - fHuidigScherm := TFormZoekProducten.Create(PanelMain, Self, fAppContext); + FHuidigScherm := TFormZoekProducten.Create(PanelMain, Self, FAppContext); end; - fHuidigScherm.Parent := PanelMain; - fHuidigScherm.Align := alClient; - fHuidigScherm.Show; + FHuidigScherm.Parent := PanelMain; + FHuidigScherm.Align := alClient; + FHuidigScherm.Show; end; end.