vb.net 调用DELPHI开发的DLL有问题

时间:2021-11-20 14:02:49
在VB.NET中调用DELPHI开发的有界面DLL有问题。
问题一,调用后,返回vb.net再打开其他VB.net的界面,如果该界面中部分控件的
        字体发生改变,则会出现溢出异常;
问题二,另一DLL,第一次调用总会出现‘未实例对象’异常,其后再调用则正常。

以上两个DLL在VB6中调用正常,而且也找不到源码了。

请那个高手大哥帮忙解答一下,不胜感激,奉上100分

5 个解决方案

#1


跟vb6调用一样的。有些数据类型改一下。
string改为System.Text.StringBuilder类型,句柄可以用IntPtr类型。

如果有结构,参考Marshal下面的方法。

#2


使用该方法后可解决第一个问题,但又带出另一个异常‘未给STRINGBULDER分配足够的容量’。待分配足够的容量后,第一个问题再次出现;
另,该方法对第二个问题没有帮助

#3


值得研究,!!那你有没有事例化对象呢?

#4


马上再执行一次就没有实例化错误了

#5


我估计是dll读取其中最后一个字符串参数时,使。net溢出

#1


跟vb6调用一样的。有些数据类型改一下。
string改为System.Text.StringBuilder类型,句柄可以用IntPtr类型。

如果有结构,参考Marshal下面的方法。

#2


使用该方法后可解决第一个问题,但又带出另一个异常‘未给STRINGBULDER分配足够的容量’。待分配足够的容量后,第一个问题再次出现;
另,该方法对第二个问题没有帮助

#3


值得研究,!!那你有没有事例化对象呢?

#4


马上再执行一次就没有实例化错误了

#5


我估计是dll读取其中最后一个字符串参数时,使。net溢出