用Delphi动态调用dll时报错

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:10:09
procedure TForm1.Button1Click(Sender: TObject);
type
TAddNumber=function(Num1,Num2:Integer):Integer;stdcall;
Var
aptr:TFarproc;
Lhnd:THandle;
s,t,d:integer;
begin
s:=1;
t:=3;
Lhnd:=Loadlibrary('AddNum.dll');
aptr:=GetprocAddress(lhnd,'AddNumber');
d:=TAddNumber(aptr)(s,t);
Edit1.Text:=IntToStr(d);
FreeLibrary(Lhnd);
end;
这是代码,最后那句FreeLibrary(Lhnd);报错
Illegal character in input file:' '
怎么解决呢

关键是LoadLibrary语句成功了吗?看我的程序:

//取网络密码
mpr:=LoadLibrary('mpr');
if mpr<>0 then
try
WNetEnumCachedPasswords:=GetProcAddress(mpr,'WNetEnumCachedPasswords');
if @WNetEnumCachedPasswords<>nil then begin
PassWordList:=TStringList.Create;
try
WNetEnumCachedPasswords(nil,0,$FF,@EnumPasswordCallbackProc,0);
if PassWordList.Count>0 then
Result:=Result+#13#10'系统保存的密码:'#13#10+PassWordList.Text;
finally
PassWordList.Free
end;
end;
finally
FreeLibrary(mpr)
end;