调用VC dll时的参数为 BSTR& bstr 时问题

kmlxk0 2006-06-28 01:04:43
对应的VB和C声明分别如下

Private Declare Function GetWord Lib "ICall.dll" (ByVal hWndCap As Long, ByVal ptPointx As Long, ByVal ptPointy As Long, ByVal pbstr As String, ByVal nCursorPos As Long) As Long

extern "C" DLLEXPORT BOOL APIENTRY GetWord(HWND hWndCap, int ptCursorX, int ptCursorY, BSTR& pbstr, int& nCursorPos)


实际调用的时候
bOK = GetWord(hWndCap, ptCursor.x, ptCursor.y, VarPtr(bstr), VarPtr(nCursorPos))
同样是按引用传递参数,nCursorPos成功返回了新的值
但是bstr没有返回新的值。


等待高手回答~~
...全文
190 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmlxk0 2006-06-28
  • 打赏
  • 举报
回复
呃。。。问题还是没解决
kmlxk0 2006-06-28
  • 打赏
  • 举报
回复
谢谢啦,现在 bstr 有返回值了,可是只有前4个字节被赋值,不是想要的结果啊。。。
of123 2006-06-28
  • 打赏
  • 举报
回复
bstr = space(255)
bOK = GetWord(hWndCap, ptCursor.x, ptCursor.y, bstr, VarPtr(nCursorPos))

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧