急!急!急!pb12调用医保dll函数问题
有医保接口的程序原来是pb9的程序需升级到pb12,
升级过程中有调用医保提供的dll的外部函数,其中一个为9.0声明方法
function integer Ylbx_MsgBegin(string MessageName) LIBRARY "ylbx_interface.dll"
以前类似的处理方法
一是加 alias for "Ylbx_MsgBegin;Ansi"
二是把string类型的参数用blob代替
function integer Ylbx_MsgBegin(blob MessageName) LIBRARY "ylbx_interface.dll" //alias for "Ylbx_MsgBegin;Ansi" //函数体调用开始
blob MessageName
string xmz
xmz="uf_retrieve_ybyp"
MessageName=blob(xmz,EncodingANSI!)
ylbx_msgbegin(MessageName)//调用函数名
上面的外部函数的含义就是传递一个指令名称,当用9.0声明方法
会提示
不存在这个接口函数uf_retrieve_ybyp4K(这个4K实际是乱码字符,复制粘贴后显示为4K)
不存在这个接口函数u
显然在字符转换或识别上出现问题,怎么解决了?
[解决办法]
先扩充空间
string ls_arg
ls_arg=space(128)
[解决办法]
外置函数的话,字符串是需要初始化的