Gerade auch schon versucht.
Delphi-Quellcode:
function X(Hash: THashBaseMD4): string;
begin
...
Result := Hash.CalcString('123');
...
end;
showmessage(X(THash_MD5));
Zitat:
E2010 Inkompatible Typen: 'THashBaseMD4' und 'class of THash_MD5'
Ansonsten lege ich mir einfach ein type THashMethods = (MD5, SHA256);, übergebe als parameter THashMethods.XYZ und gucke dann in in der Funktion mittels case was übergeben wurde.
Eine sehr schlechte Umsetzung wäre das aber.