某API函数返回结构指针,PB中如何声明调用?

纸飞机2017 2003-09-21 08:13:35
某API函数返回结构指针,PB中如何声明调用?
...全文
135 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2003-09-26
  • 打赏
  • 举报
回复
返回一个结构,用ref,其实就是传递地址,返回时,直接引用就可以啊!
yao_xh 2003-09-26
  • 打赏
  • 举报
回复
自定义一个和返回结构一样的结构,函数中结构声明为ref
纸飞机2017 2003-09-26
  • 打赏
  • 举报
回复
??
纸飞机2017 2003-09-26
  • 打赏
  • 举报
回复
问题已解决。
再想问大家PB中为什么窗口上放置多个Picture控件的时候常出现图象不能显示的问题?我想你们都遇到过吧,有什么解决的方法吗?不要说使用ACTIVEX哦
YewPu 2003-09-23
  • 打赏
  • 举报
回复
哎!!
jimly 2003-09-23
  • 打赏
  • 举报
回复
再做个dll,把原来的函数包起来,改为参数是指针。
纸飞机2017 2003-09-23
  • 打赏
  • 举报
回复
如果PB中定义某结构s_tent.
这样声明 :
function s_tent myfunc(string ls_char) library "mydll.dll" 必错,因为原函数返回的是指向结构的指针,不是一个结构,只是结构地址。
那声明成:
function long myfunc(string ls_char) library "mydll.dll"
运行可以。返回值为结构地址。但如何取结构数据?
纸飞机2017 2003-09-23
  • 打赏
  • 举报
回复
注意是返回结构指针,不是参数为结构指针。
原API为
str_tent * myfunc (string pchar)

str_tent 是结构。myfunc是函数名。
?
chrisfy 2003-09-22
  • 打赏
  • 举报
回复
同意孤星
xingxing 2003-09-22
  • 打赏
  • 举报
回复
在外部定义一个和返回结构一样的结构就可以了
jdsnhan 2003-09-22
  • 打赏
  • 举报
回复
声明时用ref传递。
iagcel 2003-09-21
  • 打赏
  • 举报
回复
比如你在程序中要调用这样一个API函数:GetWindowRect,那么你在PB可以如下声明
FUNCTION ulong GetWindowRect(ulong hwnd,ref us_RECT lpRect) LIBRARY "user32.dll"
其中us_RECT是你自己定义的一个结构
iagcel 2003-09-21
  • 打赏
  • 举报
回复
参数的传递方式声明为ref
纸飞机2017 2003-09-21
  • 打赏
  • 举报
回复
没人知道
?》

1,108

社区成员

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

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