vc dll文件中函数返回值在vb中调用出现异常?

hhliud 2012-09-07 09:09:40
#include <windows.h>


#include "7012Demo.h"

#include "Isa7012.h"

#pragma comment(lib, "ISA7012DLL.lib")



BOOL IsIniSuccess = FALSE ;

BOOL Ini7012(DWORD hwnd)


{

AD7012_WINCTRL_STRUCT ddd;

memset( &ddd, 0, sizeof(AD7012_WINCTRL_STRUCT) );

ddd.m_ADType = 1;

ddd.m_BufferBlock = 4;

ddd.m_ClkSrc = 0;

ddd.m_EndChn = 15;

ddd.m_hWnd = hwnd;

ddd.m_StartChn = 0;

ddd.m_StartType = 0;

ddd.m_Timer0Val = 200;

ddd.m_Timer1Val = 20;

ddd.m_Timer2Val = 20;

//ddd.m_IntFlag = 0;






if ( Isa7012_Open(0) )


{

//设备已成功打开



}


else

{

return FALSE;

}

if ( Isa7012_IsOpen(0) )

{

//打开Isa7012



}

else

{

return FALSE;

}

if ( Isa7012_ADCtrl(0 , &ddd))

{

//初始化正确



}

else

{

return FALSE;

}

Isa7012_StartAD(0);

}




//int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)

//{

//return TRUE ;

//}



__stdcall int CALLBACK Compare (int a,int b)


{

if(a>=b)

return a;

else

return b;

};

__stdcall float CALLBACK Friction (DWORD hwnd)

{

if ( !IsIniSuccess )

{

if (Ini7012(hwnd))

{

IsIniSuccess = TRUE ;

}

else

{

IsIniSuccess = FALSE ;

return 110;

}

}



float volL = 0.0f;


WORD dddd;

if(!Isa7012_SoftADGetVal(0,4,&dddd))

{

return -50;

}

volL = dddd & 0xFFF;

volL=((volL / 4095 * 20 - 3) * 100 / 15);

return volL;

};

下面是在vb中的程序:大家帮忙看看什么情况

Private Declare Function Friction Lib "C:\Documents and Settings\Administrator\桌面\dllvbdemo\7012Demo.dll" _

() As Long

Private Declare Function Compare Lib "C:\Documents and Settings\Administrator\桌面\dllvbdemo\7012Demo.dll" _

(ByVal CompareA As Integer, ByVal CompareB As Integer) As Integer

Dim i As Single

Private Sub Form_Load() '窗体加载

i = Friction()

End Sub

在vc中返回值volL为46.2542
在vb中获得的值为36

...全文
128 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
赵4老师 2012-09-07
不要做A语言代码修改为B语言代码的无用功。
也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
即可很方便地让A、B两种语言之间协调工作。
回复
Gloveing 2012-09-07
在VB中使用与C++中对应的类型
回复
VB记不得了 目测VB中返回值类型不对
回复
hhliud 2012-09-07
还有没有大侠帮我看看吗 需要你们的帮助啊
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2012-09-07 09:09
社区公告
暂无公告