hur.cn - 华软网

 热门搜索

PB调用 com组件结构体的问题

  作者:未知    来源:网络    更新时间:2018/6/13
oleobject obj
integer li_i
string ls_Err
boolean lb_Ret
abcd HPInfo

obj = create oleobject

li_i = obj.connecttonewobject("XJB.HP")

lb_Ret=obj.initHP(1,1,ls_err,3)
if lb_ret then
messagebox("initHP","ok")
else
messagebox("initHP",ls_err)
end if
lb_Ret=obj.formatcard(ref  ls_err)
if lb_ret then
messagebox("formatcard","ok")
else
messagebox("formatcard",ls_err)
end if

HPInfo.HPtype=2
HPInfo.Name="test"
HPInfo.Sex=1
HPInfo.NO="123456"
HPInfo.ID="123154684987845187321"
HPInfo.UnitMainNO="4576"
HPInfo.CarNO="sdfsf"
HPInfo.OtherInfo=blob("")
HPInfo.FN=blob("")
HPInfo.FM=false
HPInfo.BaseNO="435345"
HPInfo.SchoolNO="43534"


lb_ret=obj.WriteTeacherBaseInfo(Ref HPInfo, Ref ls_err) ??????????????
上面即问题语句  HPInfo 为组件XJB中的 一个结构体  WriteTeacherBaseInfo  为组件中的方法
这句总是 执行不过


if lb_ret then
messagebox("","ok")
else
messagebox("",ls_err)
end if


lb_Ret=obj.closecard(ls_err)
if lb_ret then
messagebox("closecard","ok")
else
messagebox("closecard",ls_err)
end if

------华软网友回答------
怎么 定义 com组建中的 结构体  并调用????
------华软网友回复------
难道没有人会马?
------华软网友回复------
有没有漏这句ls_Err =space(255)

ls_Err提示什么错误?
------华软网友回复------
有没有相关的关于这些函数的文挡?

HPInfo这里是传入一个结构给函数,还是从函数从取得函数内部结构的地址,这个要高搞清楚
------华软网友回复------
ls_Err还没有提示错误。因为还没有进入WriteTeacherBaseInfo()方法就报错了 时pb编译器报的错误。大体意思:不正确的参数。




abcd 是在pb中定义得结构体  其结构与组件 XJB 中得结构是相同得 

WriteTeacherBaseInfo函数 需要两个参数1、结构体 HPInfo (为传入参数)  2、为传出参数

组件肯定是调用成功了 前面得initHP() 、formatcard()都成功     只是在执行WriteTeacherBaseInfo() 时 程序中指。提示信息 :不正确的参数




------华软网友回复------
看来真的没有人会了  那只好改组件的接口了  呜~~~~~~~~
------华软网友回复------

1、在browser-->OLE中看看WriteTeacherBaseInfo函数参数有没有弄错
2、OLE对象函数参数在PB中调用要申明传递方式吗?(我好象没见过)
3、PB与COM的数据类型有些不同,如
   ( pb  )                                     ( com  )
Blob                                      SAFEARRAY (Unsigned char)     
Arrays (PowerBuilder datatype)            SAFEARRAY(COMdatatype)                        ResultSet                                     LPDISPATCH 

------华软网友回复------
"2、OLE对象函数参数在PB中调用要申明传递方式吗?(我好象没见过)"

^o^查了下PB帮助,见识过了,惭愧......      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。