Index: VerpakkingsDefinitie/UI/Subscherm.pas =================================================================== diff -u -r557 -r558 --- VerpakkingsDefinitie/UI/Subscherm.pas (.../Subscherm.pas) (revision 557) +++ VerpakkingsDefinitie/UI/Subscherm.pas (.../Subscherm.pas) (revision 558) @@ -13,18 +13,18 @@ type TFormSubscherm = class(TForm) private - FNavigator: TFormMain; + FNavigator: INavigator; FApplicationContext: TApplicationContext; protected - property Navigator: TFormMain Read FNavigator write FNavigator; + property Navigator: INavigator Read FNavigator write FNavigator; property ApplicationContext: TApplicationContext Read FApplicationContext write FApplicationContext; public - Constructor Create(AOwner: TComponent; Navigator: TFormMain; ApplicationContext: TApplicationContext); + Constructor Create(AOwner: TComponent; Navigator: INavigator; ApplicationContext: TApplicationContext); end; implementation -constructor TFormSubscherm.Create(AOwner: TComponent; Navigator: TFormMain; ApplicationContext: TApplicationContext); +constructor TFormSubscherm.Create(AOwner: TComponent; Navigator: INavigator; ApplicationContext: TApplicationContext); begin inherited Create(AOwner); Index: VerpakkingsDefinitie/UI/LogInScherm.pas =================================================================== diff -u -r556 -r558 --- VerpakkingsDefinitie/UI/LogInScherm.pas (.../LogInScherm.pas) (revision 556) +++ VerpakkingsDefinitie/UI/LogInScherm.pas (.../LogInScherm.pas) (revision 558) @@ -98,7 +98,7 @@ if ApplicationContext.UserContext.IsOK then begin - (self.Navigator as TFormMain).NavigeerNaar(Main.NAVZOEKPRODUCTEN); + self.Navigator.NavigeerNaar(Main.NAVZOEKPRODUCTEN); end else begin Index: VerpakkingsDefinitie/UI/ZoekProductenScherm.pas =================================================================== diff -u -r557 -r558 --- VerpakkingsDefinitie/UI/ZoekProductenScherm.pas (.../ZoekProductenScherm.pas) (revision 557) +++ VerpakkingsDefinitie/UI/ZoekProductenScherm.pas (.../ZoekProductenScherm.pas) (revision 558) @@ -74,7 +74,7 @@ if ApplicationContext.ProductsContext.IsOK then begin - (self.Navigator as TFormMain).NavigeerNaar(Main.NAVZOEKPRODUCTEN); + self.Navigator.NavigeerNaar(Main.NAVZOEKPRODUCTEN); end else begin Index: VerpakkingsDefinitie/Main.pas =================================================================== diff -u -r557 -r558 --- VerpakkingsDefinitie/Main.pas (.../Main.pas) (revision 557) +++ VerpakkingsDefinitie/Main.pas (.../Main.pas) (revision 558) @@ -2,7 +2,6 @@ interface -{ TODO -cnavigatie : NavigeerNaar in interface zetten ter abstractie voor subschermen } uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, @@ -15,7 +14,12 @@ NAVZOEKPRODUCTEN = 2; type - TFormMain = class(TForm) + INavigator = interface + ['{1648577B-6F43-4C3D-9122-F4F74D998611}'] + procedure NavigeerNaar(schermId: Integer); + end; + + TFormMain = class(TForm, INavigator) PanelMain: TPanel; procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); Index: VerpakkingsDefinitie/UI/GebruikerScherm.pas =================================================================== diff -u -r556 -r558 --- VerpakkingsDefinitie/UI/GebruikerScherm.pas (.../GebruikerScherm.pas) (revision 556) +++ VerpakkingsDefinitie/UI/GebruikerScherm.pas (.../GebruikerScherm.pas) (revision 558) @@ -64,7 +64,7 @@ FUserAgent.GebruikerAfmelden(self.ApplicationContext.UserContext); finally // Als logout mislukt, gewoon naar inlog scherm gaan. De gebruiker kan dan opnieuw inloggen. - self.Navigator.NavigeerNaar(Main.NAVLOGIN); + self.Navigator.NavigeerNaar(Main.NAVLOGIN); end; end;