很简单的问题,谁帮我???(5分)

  • 主题发起人 主题发起人 zhangweizw
  • 开始时间 开始时间
Z

zhangweizw

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己编了一个很简单的DLL,其中有一个求两个整数之和的函数。静态调用没有问题,可是
动态调用的时候,编译老是通不过,谁告诉我为什么?调用如下:

procedure TForm1.Button1Click(Sender: TObject);
var
alib:thandle;
func:procedure;
all:integer;
begin
alib:=loadlibrary('dll');
if alib>=32 then
begin
func:=getprocaddress(alib,'add');
all:=func(strtoint(edit1.text),strtoint(strtoint(edit2));
label1.Caption :=inttostr(all);
freelibrary(alib);
end;
end;
 
漏了一个.text,加上以后还是不行
 
不仅要看你的调用dll过程,还要看你在调用时对dll是怎么声明的!
 
这是动态调用啊,还需要怎么声明?
 
谁说动态调用不要声明的啊,你再看看先人的例子,最上面肯定有声明function 你的dll中的函数名 参数集:longint
 
后退
顶部