用的.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)均有问题。
还请各路英雄帮忙分析下哪里出了问题!!
------解决方案--------------------------------------------------------
windows 7对这种貌似是有问题的,我以前也是在windows7中不能导入,但是到windowsxp中却行
------解决方案--------------------------------------------------------
后来可有解决吗?
难道真没办法了吗。。。。。。。。:(
------解决方案--------------------------------------------------------
是不是权限问题
------解决方案--------------------------------------------------------
这样试下;
type
TAAAObject=class(TObject)
Gear:TGear;
constructor Create;
destructor Destroy; override;
end;
constructor TAAAObject.Create;
begin
inherited Create;
Gear:=TGear.Create;
end;
------解决方案--------------------------------------------------------
不可以的,.Create后面要有参数,.Create()都不行。
------解决方案--------------------------------------------------------
把dll文件放到system32目录下试试。
------解决方案--------------------------------------------------------
不用放的(也放过,一样不行的)
------解决方案--------------------------------------------------------
试试右键以管理员的身份运行程序。
------解决方案--------------------------------------------------------
注册DLL试试
------解决方案--------------------------------------------------------
该回复于2012-08-01 10:03:36被版主删除
------解决方案--------------------------------------------------------
不太理解