Ik gebruik TFileName ook wel eens, maar alleen als ik zeker weet dat het een bestandsnaam is en niet bijvoorbeeld alleen een pad.
Waarom ik het doe? Geed idee, ook ooit eens ergens gelezen en het is gewoon blijven hangen, denk ik.
Je moet ook eigenlijk niet overloads willen gebruiken omdat het kan, maar omdat het dan voordelen biedt t.o.v. je method een naam geven die aangeeft wat hij kan en doet.
Delphi Code:
// Handig, want dan hoef je niet na te denken van welk type je de waarde wilt hebben:
function GetValue(const AName: string; out AValue: string): Boolean;
function GetValue(const AName: string; out AValue: Integer): Boolean;
function GetValue(const AName: string; out AValue: Boolean): Boolean;
// Gespecialiseerde methods voor bepaalde types:
function LoadFromFile(const AFileName: TFilename): Boolean;
function LoadFromStream(const AStream: TStream): Boolean;
function LoadFromString(const AString: string): Boolean;
Weet je zeker dat bovenstaande correct is en werkt?
Je geeft een input (kun je eventueel als
const declareren, hoeft niet per se), maar je output is geen
out (voorkeur) of
var (minder goed, maar kan ook, afhandkelijk van de context), dus zal niet (zeker) de waarde bevatten die jij er in die functies aan toegekend hebt.
Bookmarks