*********高手过来看啊,极具挑战的问题,给你一个字符串表示的函数名,如何得到它的函数指针.***********

luxiaoban 2002-03-19 09:43:06
比如Delphi中有一个函数叫Pos,我现在有'Pos'这个字符串,
然后想获得这个函数的指针,我该如何实现,或者调用什么函数?
...全文
39 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xaiman 2002-05-17
  • 打赏
  • 举报
回复
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...finally
end;
Aho 2002-03-19
  • 打赏
  • 举报
回复
如果程序link了调试信息,那么还有可能得到这个地址。
否则就没戏了。
joyhero 2002-03-19
  • 打赏
  • 举报
回复
你是不是希望通过某个函数的名字来调用该函数呢?我知道在java和.net中可以通过reflection(反射)来做到这一点,但在delphi中如何做就不知道了。
Liujc 2002-03-19
  • 打赏
  • 举报
回复
GetProcAddress
torble 2002-03-19
  • 打赏
  • 举报
回复
程序中如果没有使用 Pos 的话,那么无聊如何都得不到该函数指针
smhpnuaa 2002-03-19
  • 打赏
  • 举报
回复
TfarProc=pos
smhpnuaa 2002-03-19
  • 打赏
  • 举报
回复
关注!

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧