procedure TForm1.FormCreate(Sender: TObject);
var
str1,path_pdsnh,path:string;
begin
path:='E:\Programme\yy.dll';
libHandle:=LoadLibrary(PChar(path_czyb));
ShowMessage(IntToStr(libHandle));
if libHandle<>0 then
begin
@showform:=GetProcAddress(libHandle,'fyy_ddqq');
end
else
ShowMessage('loadlibrary失败');
end;
在程序里在使用loadlibrary加载动态库的的时候,返回值一直为0
确认路径、dll名称没有问题,
测试加载其他dll可以成功
最后排查到原因是被调用的yy.dll中静态调用了其他dll,调用的时候找不到依赖的dll
可以在yy.dll里搜索loadlibrary、createoleobject、external 来查找在被调用的dll里时候有调用其他dll