Можно создать переменную типа StringList, как показано ниже:
StringList.Create;
StringList.AddObject('Proc1', @Proc1);
StringList.AddObject('Proc2', @Proc2);
Затем реализовать это в программе:
var
myFunc: procedure;
begin
if Stringlist.IndexOf(S) = -1 then
MessageDlg('Не понял процедуру ' + S, mtError, [mbOk], 0)
else begin
@myFunc := Stringlist.Objects[Stringlist.IndexOf(S)];
myFunc;
end;
end;
[News Group]