我用的是VB6.0 Dll是VC6.0写的
函数在VC的声明方式为extern "C" _declspec(dllexport) void ConvertXYZ(double L, double B,bool OutJWD,double &x,double &y,double &z)
我在VB里的引用方式为Private Declare Function ConvertXYZ Lib "JZDLL.dll" (ByVal L As Double, ByVal B As Double, ByVal OutJWD As Boolean, ByRef x As Double, ByRef y As Double, ByRef z As Double)
调用方式为
Dim x As Double
Dim y As Double
Dim z As Double
x = 20
y = 20
z = 5
ConvertXYZ 120, 30, False, x, y, z
报告错误如下 Visual studio 实时调试器
Vb6.exe【3020】中发生未处理的Win32异常
然后要选择调试器
各位大侠,不吝赐教
函数在VC的声明方式为extern "C" _declspec(dllexport) void ConvertXYZ(double L, double B,bool OutJWD,double &x,double &y,double &z)
我在VB里的引用方式为Private Declare Function ConvertXYZ Lib "JZDLL.dll" (ByVal L As Double, ByVal B As Double, ByVal OutJWD As Boolean, ByRef x As Double, ByRef y As Double, ByRef z As Double)
调用方式为
Dim x As Double
Dim y As Double
Dim z As Double
x = 20
y = 20
z = 5
ConvertXYZ 120, 30, False, x, y, z
报告错误如下 Visual studio 实时调试器
Vb6.exe【3020】中发生未处理的Win32异常
然后要选择调试器
各位大侠,不吝赐教
解决方案 »
- 请问下,窗体运行后如何补捉点击webbrowser控件事件
- 如何使frame边框不显示?
- 我是新手,学了一段时间vb 了,可还是不明白类,模块是怎么回事!!
- 用setup factory7.0打包文件时,如何注册第三方控件?急,在线等
- <憑啥??爲什麽有的人發貼子,可以出200分,而我最多隻可以給100分??>
- 老板给了一个大红包.高兴之余大放分
- 请问:为什么有时用 Inet 不可读到网页内容,但用WebBrowser却能正确显示网页谢谢
- 紧急招聘高级软件工程师
- 又多了一颗星,放分!!!!!!!!
- 赐教,窗体变为透明,但是上面的控件可见
- 有关Authenticatecode
- 为什么用VB写的DLL,如果参数为字符串类型就会有问题
extern "C" _declspec(dllexport) void __stdcall ConvertXYZ(......2
Private Declare Sub ConvertXYZ Lib "JZDLL.dll" (ByVal L As Double, ByVal B As Double, ByVal OutJWD As Long, ByRef x As Double, ByRef y As Double, ByRef z As Double)
2)VC 参数 double & 要换成 double *(有点记不得了——可能要)
3)VB 要声明为 Sub,默认的 Function 是返回一个 Variant,明显不匹配。
4)VC 的 bool 是不是 4 字节?所以 VB 中要用 Long,Boolean 是两字节,而且 {False,True} 是 {0,-1} 而不是 {0,1}。