!!!要疯了,求高人指点,关于Dllimport提示“无法加载dll”
用的.net 1.1,网站Dllimport一个delphi写的dll,提示“无法加载 DLL (DllName.dll)。”;
跟踪检查后找到是dll里执行到一个控件做实例化时出错。测试过各种环境xp、2003下发布没问题的,到了win7 32位、64位、2008就都是同样提示这个错了,求高人指点呀,感激不尽!!
网站Dllimport代码:
[DllImport('DllName.dll',
EntryPoint='Report_Export',
CharSet=CharSet.Auto,
CallingConvention=CallingConvention.StdCall)]
-------------------------------------------------
DllName.dll里:
type
TAAAObject=class(TObject)
Gear:TGear;
constructor Create; virtual;
destructor Destroy; override;
end;
constructor TAAAObject.Create;
begin
inherited Create;
Gear:=TGear.Create(Application); //到这里就出错了,试过注释这句就能通过
end;
----------------------------
总结了下,
asp.net 1.1 + IE 6、7、8 +(XP、Win2003)没问题,
asp.net 1.1 + IE 8、9 + (Win7 x86、Win7 x64、Win2008)均有问题。
还请各路英雄帮忙分析下哪里出了问题!!
[解决办法]
第一,确认是否名字是DllName
第二,确认dll的路径,如果不指名绝对路径,那么默认在系统目录或exe同目录下等5个地方,其他路径不认
[解决办法]
需不需要注册,需不需要放在系统目录下(system32),需不需要添加引用,路径正确吗?是系统兼容性的问题吗? 换个asp.net 版本,比如2.0能通过吗?