delphi 中的 WideString 对应VB 什么函数或类型?
seeQe 2011-04-15 05:41:45 有个DLL 中的函数原型:
extern "C" bool __declspec(dllexport) __stdcall EvideoOpenRoom(BSTR RoomIP, BSTR ServerIP, int iFlag)
用Delphi 调用时,能正确调用,具体如下:
声明:
function EvideoOpenRoom(RoomIP, ServerIP: WideString; iFlag: Integer): boolean;stdcall;
far;external 'SendWineEV.dll' name 'EvideoOpenRoom';
使用:
if EvideoOpenRoom(WideString(Edit2.Text), WideString(Edit1.Text), iFlag) then
begin
ShowMessage('发送指令成功');
end
end;
******************************************************************************************
如果使用VB 调用,无法正确执行
引用如下:
Public Declare Function EvideoOpenRoom Lib "SendWineEV.DLL" (ByVal strRoomIP As String, ByVal strServerIP As String, ByVal nFlag As Long) As Long
使用:
Private Sub btnOpenRoom_Click()
Dim nFlag As Long, nRet As Long
Dim strServerIP As String, strRoomIP As String
nFlag = 0
strRoomIP = Trim(Edit2.Text)
strServerIP = Trim(Edit1.Text)
nRet = EvideoOpenRoom(strRoomIP, strServerIP, nFlag)
End Sub
运行结果nRet = 0 也就是表示失败,产生动作效果也和dephi 中不同,不知道问题出在哪里,请高手指点,多谢多谢~~