我用.net写了一个类库,在delphi7中以com的形式调用。
这个com在vc,vb中都可以正常使用。
但是,在delphi7中报Arithmetic result exceeded 32 bits错误。
com: IMyComClassInterface;
com: = CoMyComClass.Create;
我的程序中就这两行代码。Note:类型库已经import.真是奇怪的问题。我用.net又写了一个简单的测试com,调用没有问题。
是不是这个com引用了.net的其他类库,都需要在delphi中import?
这个com大概有60多个类。
这个com在vc,vb中都可以正常使用。
但是,在delphi7中报Arithmetic result exceeded 32 bits错误。
com: IMyComClassInterface;
com: = CoMyComClass.Create;
我的程序中就这两行代码。Note:类型库已经import.真是奇怪的问题。我用.net又写了一个简单的测试com,调用没有问题。
是不是这个com引用了.net的其他类库,都需要在delphi中import?
这个com大概有60多个类。
算法结果超过32位帮你顶吧。
我把mscorlib.pas, mscoree.pas都import了还是同样的错误。
郁闷啊!已经好几天了,也不知道是哪的问题!!!
我是剛學Delphi,我現有一個dll ,想在 Delphi 中調用,但不知道該怎麼引用及創建。
可另開帖給分.
在vc,vb调用都可以那是因为都是微软的东西,所以当然兼容
可DELPHI可不是他们的,所以可能问题就出在这里~!
错误是在调用ActiveX中的CoCreateInstance时产生的。
代码如下:
CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IUnknown, Result)
用这个代码就提示上述错误。
如果改成:
CoCreateInstance(ClassID, nil, CLSCTX_LOCAL_SERVER, IUnknown, Result)
就提示类没有注册。
不知道有什么区别吗?to:bxh2dai(书虫&菜鸟)
如果类型不兼容,难道就没有办法了吗?是不是要自己定义Marshal?
编写的OCX在VC上可使用。但在Delphi7上载入后在ActiveX Panel中
死活看不到,为什么?那位大虾帮帮我,感激不尽。
我Email: [email protected]