jack20635 发表于 2009-11-5 20:52:30

labview如何调用VC++下生成的DLL,急!

#pragma once/*--------------------------------------------------------------------------*//* CONSTANTS DECLARATION *//*--------------------------------------------------------------------------*/#ifdef _AF_EFS_ACCESS_LIB #define EFS_ACCESS_DLLEXT extern "C"__declspec(dllexport) #else #define EFS_ACCESS_DLLEXT extern "C"__declspec(dllimport) #endif

EFS_ACCESS_DLLEXT BOOL __stdcall exp_GetEFSDllVersion(CString szDllVersion);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Set_Efs_Comport_Id(const UINT uiComportId);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Set_Efs_Phone_Handle(HANDLE uiPhoneHandle);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Read_Imei(CString szImei);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Write_Imei(CString m_ImeiTmp);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_ReWriteImei(CString szImei);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_ReWriteBtAddr(CString szBtAddr);

jack20635 发表于 2009-11-5 20:55:34

这是DLL得头文件(不全,DLL为VC++MFC下生成的),函数返回值为空时用CLF可以调用,返回值为CString的都无法调用,那位高手帮忙解决一下???急!!!!

谢谢!



#pragma once/*--------------------------------------------------------------------------*//* CONSTANTS DECLARATION *//*--------------------------------------------------------------------------*/#ifdef _AF_EFS_ACCESS_LIB #define EFS_ACCESS_DLLEXT extern "C"__declspec(dllexport) #else #define EFS_ACCESS_DLLEXT extern "C"__declspec(dllimport) #endif

EFS_ACCESS_DLLEXT BOOL __stdcall exp_GetEFSDllVersion(CString szDllVersion);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Set_Efs_Comport_Id(const UINT uiComportId);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Set_Efs_Phone_Handle(HANDLE uiPhoneHandle);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Read_Imei(CString szImei);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_Write_Imei(CString m_ImeiTmp);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_ReWriteImei(CString szImei);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_ReWriteBtAddr(CString szBtAddr);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_ReWriteImei(CString szImei);

EFS_ACCESS_DLLEXT USHORT __stdcall exp_ReWriteBtAddr(CString szBtAddr);

jack20635 发表于 2009-11-13 21:02:48

不会吧!论坛没有高手啊!!!!!!!!!!!!!

billbot501 发表于 2009-11-14 14:39:29

我看你这几个函数返回值就2个,1个是USHORT 对应labview的U16参数 另外一个是BOOL 对于的是I32参数。
你说的CSTring应该是加的变量的参数,对于定义为如图。
希望对你有帮助

jack20635 发表于 2009-11-15 16:42:45

谢谢!不过这个不行,已经试过了

xujiqiang0927 发表于 2009-12-20 21:08:43

我也不太知道怎么回事儿,不过推荐你看这本书《我和LabVIEW》,也许可以解答你的疑惑哦,呵呵

xujiqiang0927 发表于 2009-12-20 21:09:47

上当当网一搜就出来了,这本书NI一个资深工程师写的,挺不错的

rongcheng0501@1 发表于 2009-12-21 09:52:43

呵呵,作者就在论坛里

wxf7651598 发表于 2009-12-21 10:06:14

LABVIEW好像不支持MFC生成的DLL,我是在VC6.0建了WIN32 DLL工程生成DLL,然后把DLL和LIB文件拷到LABVIEW工程所在目录,还要注意LABVIEW下建立DLL的函数中的数据类型的设置问题,如果DLL中使用数组类型的实参,要给数组分配空间,详细操作可以参考《我和LABVIEW》这本书,网上有下的

发表于 2016-10-21 16:37:05

你好!你这个问题现在解决了没有,我刚接触dll,在这方面有哪些需要注意的事项,参数是怎样对应的,能给些指导意见或参考资料吗?谢谢!

Obama 发表于 2016-10-21 17:08:43

鱼 发表于 2016-10-21 16:37
你好!你这个问题现在解决了没有,我刚接触dll,在这方面有哪些需要注意的事项,参数是怎样对应的,能给些 ...

http://www.cpubbs.com/bbs/thread-2210-1-1.html回楼上的,这个不就是么?
页: [1]
查看完整版本: labview如何调用VC++下生成的DLL,急!