Hallo,
Ik heb de volgende constructie.
Er is een basis Approver object echter het controleren van de credentials kan per type gebruiker variëren.
het basisobject ziet er als volgt uit
Code:
TApprover = class(Tobject)
private
Flevel: integer;
FAutMark: boolean;
Fdatum: string;
FNaam: integer;
FPinCode: integer;
FAfdeling: TAfdeling;
public
function CheckCredentials(checkRole:boolean) :boolean; overload; virtual;
function CheckCredentials :boolean; overload; virtual;
function CheckRegNr: boolean; virtual;
Constructor Create; virtual;
Destructor Destroy; override;
Published
property Naam: integer read FNaam write FNaam;
property Datum: string read Fdatum write FDatum;
property AutMArk:boolean read FAutMark write FAutMark;
property Level:integer read Flevel write Flevel;
property Pincode:integer read Fpincode write FPinCode;
property Afdeling: TAfdeling read FAfdeling write FAfdeling;
end;
Voor een specifieke approver heb ik bijvoorbeeld een TVoormanApprover gedifineerd
Ditzelfde heb ik gedaan voor een Manager of voor een Engineer.
Code:
TVoormanApprover = Class(TApprover)
public
function CheckCredentials :boolean; override ;
end;
In mijn code roep ik dit op de volgende manier aan
Code:
Approver:=Tapprover.Create;
Approver.Naam:=strtoint(txtRegNr.Text);
Approver.Pincode:=strtoint(txtPinCode.Text);
result:= TVoormanApprover(Approver).CheckCredentials;
if not result then
result:= TManagerApprover(Approver).CheckCredentials;
Als ik deze code uitvoer beland ik steeds in de TApprover.Credentials
Ik wil dus de credentials kunnen controleren als een Voorman en als een TManager
Wat doe ik verkeerd.
Bookmarks