Hi,
der harte TypeCast dürfte aber zu einer
Exception führen. Besser wäre es so:
Delphi-Quellcode:
function callMyFunc(name: string): TResultType;
var funcWrapper: IFunction;
begin
if Supports(GlobalDict.Lookup(name), IFunction, funcWrapper) then
result := funcWrapper.doWork(ExtendedArgument)
else
result := ...
end;
Voraussetzung für den Einsatz der Funktion
Supports ist aber, daß die Interfaces eine eindeutige
GUID besitzen:
Delphi-Quellcode:
type
IFunction = interface
['{4C30EFEE-10A6-4B88-919E-9CD12673572F}']
function doWork(const argument: Extended): TResultType;
end;
Diese kann man im Editor über die Tastenkombination [Umsch][Strg][G] leicht erzeugen lassen.
Gruß Hawkeye