函数clipbord()在书中或帮助中介绍的返回值为string,可是在程序代码中
string ls_return
ls_return = clipbord(dw_1,rt)
编译时提示返回值类型不是string,是integer.
如果将ls_return定义为integer,那么ls_return = -1无法执行下去,请问这是为什么?是PB12.5的bug?
------解决方案--------------------
返回值是string
------解决方案--------------------
我也遇到这个问题了。所有的资料都说返回的是当前剪贴板的内容是String类型的,但是程序中的确返回的是Integer类型的。而且和你一样我这里一直都返回-1。
后来我想了个笨办法。在窗口中加了个singlelineedit控件,并把它的visible属性置为false。把我想要复制到剪贴板的数据赋给singlelineedit控件的text,然后全选text中的内容,利用singlelineedit控件的copy方法就可以复制到剪贴板上了。看代码:
sle_copy.text = ls_str
sle_copy.selecttext(1,len(sle_copy.text))
sle_copy.copy()
------解决方案--------------------
ls_return = clipbord(dw_1,rt) 能这样用吗?该函数只有一个参数(9.0版本),难道是高版本支持多个参数?
------解决方案--------------------
if keyflags = 2 and key = KEYC! then
::Clipboard(gs_Clipboard)
this.SetFocus()
elseif key = KeyEscape! then
gw_parent.triggerevent("ue_cancel")
this.SetFocus()
elseif key = KeyDelete! and is_estate = 'save' then
gw_parent.triggerevent("ue_delete")
this.SetFocus()
end if
gs_Clipboard是我全局的变量,单击获取值,按CTRL+C就是复制到系统剪切板,是STRING值