读书人

请教getclienthwnd()函数在11怎样调用

发布时间: 2012-02-19 19:43:39 作者: rapoo

请问getclienthwnd()函数在11怎样调用
函数getclienthwnd()在PB9中能够正常使用,为何在PB11中调用出错?
函数定义:

Function long GetClientHwnd(REF st_tcclient Destination, ulong Source, ulong Size) library "kernel32.dll" Alias For "RtlMoveMemory;Ansi"

函数调用:getclienthwnd(lst_client,lst_tc_ITem.lparam,28)
从PB9中迁移到PB11,编译能够通过,但是执行应用程序时出错:
错误代码: Error calling external function %s at line 32 in function f_getinten.

[解决办法]
传参数的问题,加ref

探讨
函数getclienthwnd()在PB9中能够正常使用,为何在PB11中调用出错? 
  函数定义: 
   
  Function  long  GetClientHwnd(REF  st_tcclient  Destination,  ulong  Source,  ulong  Size)  library  "kernel32.dll"  Alias  For  "RtlMoveMemory;Ansi" 
   
  函数调用:getclienthwnd(lst_client,lst_tc_ITem.lparam,28) 
  从PB9中迁移到PB11,编译能够通过,但是执行应用程序时出错: 
  错误代码:  Error  calling  external  function  %s  at  line  32  in  function  f_getinten.

[解决办法]
这个结构体的定义是怎样的st_tcclient
还有你要看一下,调用之前lst_tc_ITem.lparam是不是0,是0就是之前的调用已经出错了
还有,这是个内存拷贝函数,不需要加;ansi

读书人网 >PB

热点推荐