Вызвать функцию по имени
Материал из DRKB
Вызвать функцию по имени[править | править код]
есть такой способ вызова функций по имени, если они совпадают по сигнатуре:
function TestFunc1(d: Double): Integer;
begin
//....
end;
function TestFunc2(d: Double): Integer;
begin
//....
end;
exports
TestFunc1,
TestFunc2;
procedure TForm1.Button1Click(Sender: TObject);
var
Func: function (d: Double): Integer;
begin
@Func := GetProcAddress(hInstance, PChar(Edit1.Text));
if @Func = nil then
raise Exception.CreateFmt('Функция с именем "%s" не существует', [Edit1.Text]);
ShowMessage(IntToStr(Func(10.63)));
end;
Author: jack128
ID: 00086