首页 新闻 会员 周边

Delphi 三层 多线程问题

0
悬赏园豆:100 [待解决问题]

Delphi三层客户端想实现多线程的数据提取,个人研究好长一段时间没有完整实现,向广大Delphi同行求助;

要求:

    1:客户端一功能块需要提取多项数据(来源于不同的数据表),其中有些需要在处理完后提交数据回数据库,有些不需要提交数据,可直接释放;求一有效解决方法

=========================

三层实现链路:

  服务端:DB--AdoConnection--AdoDataSet--DataSetProvider

 客户端:SocketConnection--ClientDataSet

=========================

已测试情况:

   A:服务端使用连接池,处理 ADOCONNECTION 的连接问题

   B: 客户端在线程内创建 SocketConnection ,可正常提数据,但无法提交数据回数据库

   C: 往线程内传参主线程的ClientDataSet(CDS)和SocketConnection(SOC)<主线程中有多个SOC>,在线程内对主线程的SOC执行Create事件后,再通过CDS提取数据,按这种方法可正常提取数据,也可正常提交数据,唯一问题:提交数据时,无返回值\

=========================

   求解。奖励可后加

耗喜天涯的主页 耗喜天涯 | 初学一级 | 园豆:56
提问于:2012-08-28 10:06
< >
分享
所有回答(2)
0

多层结构取返回值的确是一个问题。socket可以取,不过很单一,自行设定消息机制可能是上策。

RDIFramework.NET | 园豆:316 (菜鸟二级) | 2012-08-28 17:05
0

数据提取可以使用多线程方式进行提取,在线程中动态配置SOC,通过CDS存取返回的值即可,不过 这种方式是无法提交数据的

耗喜天涯 | 园豆:56 (初学一级) | 2012-10-13 16:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册