远程调用时遇到的一个问题(100分)

  • 主题发起人 主题发起人 wyw
  • 开始时间 开始时间
W

wyw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在开发三层数据库时,在server端编了一个procedure------名称为mm,在client端通过DCOMConnection.Apperver调用该procedure,编译时出现错误“Methord ‘mm ’not supported by automation object”
不知这个错误是什么意思?
出现这个错误的原因是什么?
怎样来解决?
不知在通过DCOMConnection.Apperver调用函数时,还应该注意那些问题?
谢谢
 
DCOMConnection的ServerName和ServerGUID必须正确选择。如果
Server已经注册在ServerName的下拉列表框中应能看到你的ServerName。
单纯调用Apperver以上就足够了。用到数据库ClientDataSet的RemoteServer
和ProviderName也必须正确定义。
 
ServerName和ServerGUID都是正确的
能不能解析一下上面错误的意思?
 
Delphi在编译时是不检查函数名是否正确的因为编译时它也不知到
Server中是否有这个函数。即使写了错的函数编译也能通过。我仔细看
了一下你写的程序原来是你的调用方式不对应将Apperver改为AppServer。
(不过可能是你的笔误,因为那样的错误提示不应是这样)
按照下面的方式试试
DCOMConnection.AppServer.FunName(..);
编译绝不会有错只可能执行时出错。
 
如Fencer所说,如上的错误只能是执行时报错,不会在编译时报错。
报错原因是调用时,没有找到该函数的接口。
确认你在增加过该函数后将SERVER编译过。
最大的可能是,CLIENT程序连接的是老SERVER,没有该函数。
 
那为什么我的
ClientDataSet1.AppServer.login;{login为函数名}
编译通不过呢?
照理来说也是一样的阿.
 
oh,发现刚才我搞错了,
应该把clientdataset1 改为
SocketConnect1.AppServer.login;
可以通过编译,但是调用是也遇到了 wyw 说的那种错误.
就是Methord ‘login’not supported by automation object.
到底错误在哪里呢?
 
按理不应该出现问题,是不是没有把方法加入到接口中?
 
对对对,我也正想问这个问题。
一样的错误在编译时。
 
appserver.过程(函数)
此过程(函数)书写必须与定义完全一样.
connect必须为true
 
如果函数不是自己一行行打出
而是由delphi生成则不会出现这个
错误。
 
接受答案了.
 
后退
顶部