精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Powerbuilder>>锦上添花 技巧大家谈>>如何在一个分布式PB应用的客户端显示DDDW

主题:如何在一个分布式PB应用的客户端显示DDDW
发信人: 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]

[关闭][返回]