Dcom服务器端怎样添加新功能

zhypp 2003-12-23 09:50:51
我在编写小型数据库管理程序
已经成功地用Dcom建立登陆确认(Confirm)功能
单程序编写过程中需添加一个新功能模块,在服务器程序Type Library中和Confirm
同一接口下加入新方法,并在程序中添加代码、编译运行,但在调用客户端程序调用该接口,还是只能见到Confirm一个方法。

我刚刚使用分布式编程,请各位高手多多指教。
...全文
7 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhypp 2003-12-28
试了,不管用。不知道什么原因。

我先建一个远程数据服务器(Remote Data Module)
CoClass Name=Test
在Tpye Library中Interface "Itest"下建立方法"Method1",刷新Tpye Library,在代码单元的
Produce Ttest.Method1单元中添加内容为“//”,Save为P_Test.dpr;test1.pas;test2.pas,Build,Run

file/close all
客户端建立
1:new/application
2:Project/Import Type Library
找到并add刚才生成的P_test.exe
3:在程序uses单元加入P_test_tlb
4:在Privare单元定义变量
cVar:Itest
5:在procedure TForm1.FormCreate(Sender: TObject);单元加入
cvar:=cotest.CreateRemote('zhy');//我当前也是服务器和客户端所在的电脑名“zhy”
6:!!!当我在接下来的一行键入cvar.时,自动弹出属性列表中第一项为Method1
7:取消刚才试键入的cvar.
8: 保存客户端C_test.dpr

下面中间层添加方法
open 刚才的P_Test.dpr
view Tpye Library
展开Itest 添加新方法Method2 刷新
在procedure Ttest.Method2;单元内键入“//”
Save,Build,Run

????????????????????????????
Open 客户端 C_test.dpr
在cvar:=cotest.CreateRemote('zhy');下面以行键入
cvar.谈出的列表框里只能找到Method1,而没有Method2
????????????????????????????
回复
dragon432503 2003-12-27
不会吧,你可如下直接调用即可:
DCOM.AppServer.方法名(参数)
你是否加入了服务器的TLB单元,如果是你是否更新了此单元,其实你可以不加服务器的任何单元,直接远程调用即可!
回复
zhypp 2003-12-26
有没有高手能回答我问题丫?
人说三层结构是便于维护,各位高手作服务器不添加方法吗?
请问高手们都采用那些方法?
回复
zhypp 2003-12-25
长期关注
回复
rocker1218 2003-12-24
up
up
up
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1565

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告