Вызвать функцию по имени
Falk0ner, вс, 06/07/2008 - 15:34.
Автор: jack128
Вызвать функцию по имени
есть такой способ вызова функций по имени, если они совпадают по сигнатуре:
{©Drkb v.3(2007): www.drkb.ru}
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;
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;
Автор: jack128
Отправить комментарий