*********高手过来看啊,极具挑战的问题,给你一个字符串表示的函数名,如何得到它的函数指针.*********** 程序中如果没有使用 Pos 的话,那么无聊如何都得不到该函数指针 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是不是希望通过某个函数的名字来调用该函数呢?我知道在java和.net中可以通过reflection(反射)来做到这一点,但在delphi中如何做就不知道了。 如果程序link了调试信息,那么还有可能得到这个地址。否则就没戏了。 procedure TMainForm.Button1Click(Sender: TObject);type TAdd = function(X, Y: integer): integer; stdcall;var hDLL: THandle; Add: TAdd;begin hDLL := 0; try hDLL := LoadLibrary('DLLPrj.DLL'); if (hDLL>0) then begin Add := GetProcAddress(hDLL, 'Add'); Edit1.Text := IntToStr(Add(1, 2)); end else begin raise Exception.Create('Load DLLPrj.DLL failed'); end;//if finally Windows.FreeLibrary(hDLL); end;//try...finallyend; 原创 汇编编译器/组件 Delphi源码 请教一个16进制数取位的基础问题 如何打印? 怎么判断一个窗体已创建? 这个打印时如何判断?? TADOTable和TTable有什么区别 请问怎样在Delphi应用程序中创建一个数据表? 请问一下有谁知道在EDIT控件得到焦点时执行指定的程序![在线等待] tedit继承组件的问题 如何设置listbox两项之间的距离 有几句程序我看不懂,请各位大侠帮帮忙!!! 如何让SQL server 只传送一条记录到客户端,用户在客户端应用程序点击“下一条”后,再传送一条记录到客户端?
否则就没戏了。
type
TAdd = function(X, Y: integer): integer; stdcall;
var
hDLL: THandle;
Add: TAdd;
begin
hDLL := 0;
try
hDLL := LoadLibrary('DLLPrj.DLL');
if (hDLL>0) then begin
Add := GetProcAddress(hDLL, 'Add');
Edit1.Text := IntToStr(Add(1, 2));
end else begin
raise Exception.Create('Load DLLPrj.DLL failed');
end;//if
finally
Windows.FreeLibrary(hDLL);
end;//try...finally
end;