早上给我发短信的朋友,我回答你的问题的时候csdn出了问题,我现在进来找不到你的帖子了,你的问题是一个函数指针的问题。里面是解答
你的意思可能是这样的。你的函数放到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