这是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);
LabVIEW 不支持 MFC 的。你要自己封装这个 DLL 。
先在 LabVIEW 中建立 Control / Indicator ,然后接到 CLF 上。右击 CLF , Create .c 。
在 VC 中打开 .c ,在其中调用 DLL 的相应函数。
我也遇到了,类似的问题,在调用DLL时出现结构体不能被识别,按照你说的方法是不是我在creat c 之后,在里面再调用dll中的函数,需要的数据重新赋值给新定义的,并且labview 可以识别的数据,接着在labview里就可以调用么?
期待你的回复!