高难度问题 ( 积分: 200 )

  • 主题发起人 主题发起人 herofy
  • 开始时间 开始时间
H

herofy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个进销存,有好多单据对吧?都要新建保存。我在客户端只放一个socket,服务器端建一个服务器程序,一个RDataModal对吧?建了一个RdataModal肯定就有了一个接口对吧(比如叫IServer)?接口里写好多函数,不好维护我觉得,而且太多,比如采购单保存、销售单保存什么的,所以我想建再建一个接口叫IBill,有几个函数新建、保存。这样我再在Iserver接口下建一个函数GetInterFaceByID参数是单据类型,返回类型为IBill,这个GetInterFaceByID函数实现功能为:根据不同的单据类型来实例化IBIll接口,这样客户端调用的时候就只用这样作了
var tt:IBill
tt:=socket.appserver.getinterfacebyID(单据类型);
tt.新建;
tt.保存;
不知道我说明白了没?
现在有两个问题是这个的关键第一个怎么实例化IBill;第二个是怎么返回这个接口。
 
我想做一个进销存,有好多单据对吧?都要新建保存。我在客户端只放一个socket,服务器端建一个服务器程序,一个RDataModal对吧?建了一个RdataModal肯定就有了一个接口对吧(比如叫IServer)?接口里写好多函数,不好维护我觉得,而且太多,比如采购单保存、销售单保存什么的,所以我想建再建一个接口叫IBill,有几个函数新建、保存。这样我再在Iserver接口下建一个函数GetInterFaceByID参数是单据类型,返回类型为IBill,这个GetInterFaceByID函数实现功能为:根据不同的单据类型来实例化IBIll接口,这样客户端调用的时候就只用这样作了
var tt:IBill
tt:=socket.appserver.getinterfacebyID(单据类型);
tt.新建;
tt.保存;
不知道我说明白了没?
现在有两个问题是这个的关键第一个怎么实例化IBill;第二个是怎么返回这个接口。
 
socket.appserver.getinterfacebyID(单据类型);你的意思是获得实现类。
然后用相应的类来实例化。对吧!Delphi好象还是作不到。Java和.net已经做到了
socket.appserver.getinterfacebyID直接返回一个实例 给IBill变量还没问题
 
socket.appserver.getinterfacebyID直接返回一个实例 给IBill变量还没问题
怎么实现?客户端能像我写的哪样调用吗?我怎么没弄成?讲指教。
 
实现Ibill接口的类都从TRemotable继承,他们的实例应该能在客户端返回,当然客户端访问还使用Ibill接口。没问题吧。
在Delphi中继承自Tremotable的应该是可序列化的,能够传输的对象。
 
IBill是个interface的呀,具体的实现的话,要有实现类的哟。
如果你完全是oop实现系统的话,你po,so单据也一个class,这样的话,你可以让你的具体的单据类来实现IBill接口的嘛!!所以你的怎么实例化IBill接口不是什么问题的呀,说白了你的Ibill接口就象是所有单据类功能类的一个抽象的呀。
 
jxyghm的思路和我的思路差不多,我也理顺了我的想法了,但是不会实现:(
sbl331是有IBill的实现的类,而且有很多个,现在困惑我的是怎么调用
 
好,帮顶


--------签名档---------------------------

比肩国内顶尖源码下载站点 -> 源码我爱你

http://www.source520.com
http://www.source520.net
80G源码电子书免费免注册下载,大量精辟技术文档库随时更新
******************************************************************
附:为了站点持续发展,现有本站近年来收藏的大量大型商业源码低价出售,
详情请进入以下链接查看:
http://www.source520.com/building_delphi.htm

浏览商业代码请从如下URL进入查看实物:
1.商业源码库1: ftp://source520see3:browse@61.152.199.245/
2.商业源码库2: ftp://source520see2:browse@61.152.199.245/
 
后退
顶部