I realized it's possible to do a: func : string; func := "stop_dir@academy"; func(arg1, arg2, arg3); which means dilcall is entirely not needed. Should be removed and DIL code converted.