早上给我发短信的朋友,我回答你的问题的时候csdn出了问题,我现在进来找不到你的帖子了,你的问题是一个函数指针的问题。里面是解答

zsy_good 2002-10-31 10:07:07
你的意思可能是这样的。你的函数放到Dll里面
但是主程序启动的时候不想直接调用函数,想把函数的地址保存起来。以便
将来使用。是不是这样? 你可以这样做
//定义部分
TGetShortCut = function: pchar; stdcall;

pGetShortCut: TGetShortCut;
lpGetShortCut: pGetShortCut;
iLibHandle: integer;

//实现
iLibHandle := LoadLibrary(Pchar(sr.Name)); //载入Dll
//保险起见
if iLibHandle <> 0 then
begin
//
//这个奇怪名字你不要管,是VC的函数,导出时加入了命名空间的唯一标示
//你只要写自己的函数名就可以了
//
PGetShortCut := GetProcAddress(iLibHandle,'?GetShortCut@@YAPADXZ');

//
//判断以下有没有得到该函数的地址
//
if Assigned(pGetShortCut) then
pGetShortCut: TInitPlugIn; //保存函数的地址

end;
//以后使用 pGetShortCut();



大家如果有什么问题没有解决可以给我写信,或是发短消息。我回尽力帮助大家的。

zsy_good@163.net
...全文
29 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
l_xiaofeng 2002-12-19
  • 打赏
  • 举报
回复
够意思。

830

社区成员

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

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