首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

BSTR, String的有关问题么

2012-01-16 
BSTR, String的问题么在DLL中有一个函数:函数定义:extern C bool__declspec(dllexport) __stdcall Evide

BSTR, String的问题么
在DLL中有一个函数: 
函数定义:extern "C" bool __declspec(dllexport) __stdcall EvideoOpenRoom(BSTR RoomIP, BSTR ServerIP, int iFlag)
参数说明:RoomIP,房间IP,指定哪个包厢需要开房;ServerIP,系统服务器IP; iFlag,是否保留

---------------------------------------------------------------------
如果用VB调用, 定义为:
function EvideoOpenRoom(RoomIP as String ,ServerIP as String , iFlag as Integer) as Boolean
在Windows 2000中和Vista 中运行, 都是同一个返回结果,如False

但是Delphi 7中调用, 定义为:
function EvideoOpenRoom(RoomIP, ServerIP: WideString; iFlag: Integer): boolean

在windows2000中运行,返回False, 在Vista 中返回True, 这不同的结果是什么导致的?

请教,请教~~




[解决办法]
这不同的结果是什么导致的?
系统版本导致的
[解决办法]
返回int
[解决办法]
标准DLL嘛,要这样声明:

VB code
private declare function EvideoOpenRoom lib "YouDLLName.dll"(byval RoomIP as String ,byval ServerIP as String ,byval iFlag as long) as long
[解决办法]
字符串声明需要加ByVal

热点排行