我在一个标准Dll(带有MFC支持)中使用SQLBrowseConnect,dll的stdafx.h的头部定义了UNICODE,用法如下:
m_iRetcode = SQLBrowseConnect(
hSQLHdbc,
(LPTSTR)pszInputParam,
SQL_NTS,
(LPTSTR)(szConnStrOut.GetBuffer(MAX_RET_LENGTH)),
MAX_RET_LENGTH,
&sConnStrOut);
编译的时候出错了,错误为:
error C2664: 'SQLBrowseConnect' : cannot convert parameter 2 from 'unsigned short *' to 'unsigned char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast但用同样的代码放在一个单独的程序中就没有错误,这段代码我是先在另外一个工程中调试通过以后再拷到dll中的,是不是在dll中使用unicode还有其他注意事项
m_iRetcode = SQLBrowseConnect(
hSQLHdbc,
(LPTSTR)pszInputParam,
SQL_NTS,
(LPTSTR)(szConnStrOut.GetBuffer(MAX_RET_LENGTH)),
MAX_RET_LENGTH,
&sConnStrOut);
编译的时候出错了,错误为:
error C2664: 'SQLBrowseConnect' : cannot convert parameter 2 from 'unsigned short *' to 'unsigned char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast但用同样的代码放在一个单独的程序中就没有错误,这段代码我是先在另外一个工程中调试通过以后再拷到dll中的,是不是在dll中使用unicode还有其他注意事项
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货