发信人: love1974() 
整理人: (2000-03-06 00:08:41), 站内信件
 | 
 
 
   
              如何在一个分布式PB应用的客户端显示DDDW
 
 在一个PB应用中,现在可以通过GETFULLSTAT()函数得到整个源数据窗口,在分 布式应用中的应用服务器端
 
 可以使用数据存储代替数据窗口。整个数据窗口可以存储在BLOB变量中传递给客 户端,但是当服务器端的数据
 
 窗口包含DDDW时,DDDW并不能出现在客户端,为了解决这个问题,可参照下面的 例子。
 
 (1)服务器端:
    数据存储和数据窗口关联, 数据窗口为d_free,d_dddw_department作为dept_ id的显示列.
    用户对象uo_server的对象函数为of_getdatastore()
 
 Script of of_getdatastore():
 blob l_blob
 datastore ds_store
 
 SQLCA.DBMS = "ODBC"
 SQLCA.AutoCommit = False
 SQLCA.DBParm = "ConnectString='DSN=Powersoft Demo DB V6;UID=dba;PWD=sq l'"
 connect using sqlca;
 
 ds_store = create datastore
 
 ds_store.dataobject = "d_free"
 ds_store.settransobject(sqlca)
 ds_store.retrieve()
 ds_store.getfullstate(l_blob)
 
 disconnect using sqlca;
 
 return l_blob
 
 
 (2).客户端:
     在client.pbl有相同结构的d_free和d_dddw_department.
     uo_server代理对象.
 
     得到BLOB数据并且分配给客户端的数据窗口脚本
 
 Long ll_rc
 blob lr_blob
 connection myconnect
 uo_server iuo_server
 
 ll_rc = myconnect.CreateInstance(iuo_server)  //创建远程对象
 if ll_rc <> 0 then
    messagebox("CreateInstance失败",ll_rc)
 end if
 
 lr_blob = iuo_server.of_getdatastore()       //iuo_server是uo_server的 实例变量
 dw_1.dataobject="d_free"
 dw_1.setfullstate(lr_blob)
 
 
 注意:主数据窗口d_free和dddw数据窗口d_dddw_department都要存在于client.p bl中
 
  -- love1974[灌水版(还未开盘)斑竹] 灌翻网易,一大快事
 太太平平,不是我活着的目标;不温不火,不是我的性格。是云就该下雨,是火就该发光。
 那罐星砂送給你
 ╭╯  ╰╮╭╯╰╮    願你心想事成
 ║▃▃▃║║☆★║  這罐海水留給我
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.124]
  | 
 
 
 |