今天,一同事问,PB下如何调用短信接口的问题。
一般短信接口有http,webservice,db,api等几种格式,他用的是http。
感觉很简单,他说用ole容器,插入对象,调用,可惜,在PB9下,总是非法退出,闹的想装个PB11看看。
至少5年没用过PB了。还真得想想。
http的接口只要在浏览器中输入对应的url,就已经调用成功,那就是执行一次对应url的过程,也没必要非用ole。况且,ole这东西在pb下很不稳定。
如果按我所想,无论什么方式,只要有一次url的访问就可以。考虑下用pb的internetresult 这个内置对象,并测试如下:
建个对象n_ir_msgbox,继承自internetresult,直接在internetdata函数中返回1(这一步很关键,必须有个返回值)
建立窗口,定义实例变量n_ir_msgbox iir_msgbox
增加按钮,click事件中:
inet linet_base
String ls_url
integer li_rc
iir_msgbox = CREATE n_ir_msgbox
if GetContextService("Internet", linet_base) = 1 THEN
ls_url = "http://ip:port/sms/http/SendSms?Account=004&Password=33c678db81ecd3daed05bb4520a59f13&Content=这是个测试的短信&Phone=13012345678"
li_rc = linet_base.GetURL(ls_url, iir_msgbox)
END IF
DESTROY iir_msgbox
测试,一次性成功。呵呵。
简单的记录下来