Как мне использовать переменную типа string в качестве имени процедуры?
Никак. Тем не менее, вы могли бы создать 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; |
RAM [000697]