Dann wäre das mit der Class-Method aber auch bissl obsolete.
Da habe ich nicht aufgepasst und "class" überlesen. Suche schon mehrere Stunden in einer externen Library einen hartnäckigen Fehler und wollte mich mal kurz ablenken. Dann mal mit
Rtti:
Delphi-Quellcode:
var
hashClass: TDECHashClass;
rttiType: TRttiType;
rttiMethod: TRttiMethod;
maxSaltLengthValue: TValue;
begin
hashClass := ClassRegistration.GetHashClass('BCrypt');
if (hashClass <> Nil)
and hashClass.IsPasswordHash then
begin
rttiType := TRttiContext.Create.GetType(hashClass);
if rttiType <> Nil then
begin
rttiMethod := rttiType.GetMethod('GetMaxSaltLength');
if (rttiMethod <> Nil)
and rttiMethod.IsClassMethod then
begin
maxSaltLengthValue := rttiMethod.Invoke(hashClass, []);
end;
end;
Und jetzt Feierabend.
Bis bald...
Thomas