文档章节

解决报错:method “***” not supported by automation object

s
 shs0708
发布于 2016/08/04 19:55
字数 533
阅读 529
收藏 0

我遇到这个问题是在delphi6当中,服务端使用了RemoteDataModule模块,客户端使用TSocketConnection和TWebConnection来连接服务端,并且使用服务端定义的method(即function)。 出现的问题是,每次运行客户端到调用自己在RemoteDataModule模块中添加的method时会报错: method “***” not supported by automation object 我当时添加method是直接在mainformunit里面加入函数,并且手动在TLB.pas中加入两句声明。 出现错误的原因就是没有在RemoteDataModule模块的TypeLibrary中加入函数的声明,所以TLB中的声明是无效的,因为TLB.pas是系统自动生成的。。。 正确的添加method的方法是打开工程之后,在菜单中的View——Type Library中加入新的method,之后点击刷新的按钮,就会自动更新tlb文件,然后在RemoteDataModule中声明和定义该method。

以下是引用自:http://blog.sina.com.cn/s/blog_4d0bbae30100bu2q.html

Delphi三层结构对自定义远程接口的实现方法 在三层中加入新的远程数据模块RemoteDataModule,会自动产生*.tlb的类型库,可自定义方法或函数

1、必须先在服务器程序的typr lib中加入该函数,并定义好输入、输出变量,相应的修改会自动反应在RemoteDataModule和lib文件中;否则,在调用的时候会出现“methon "函数名" not supported by automation object”。究其原因,远程数据模块其实相当于我们自定义的一个类,只不过由系统自动生成罢了,在调用的时候,如果将方法及其输入输出在类库中定义,则找不到该方法,就会出现无法调用的现象。

2、在RemoteDataModule找到要定义的函数,在那里实现自己的逻辑。

3、必须把datasetprovider的PoAllowCommandText:=true.否则,你在客户端无法使用lientdataset.commandtext属性了!这样你就可以在客户端调用socketconnection1.appserver..ExecSqls了,注意参数类型必须一致,字符串用widestring!!!!

4、不能运行三层客户端的自定义解决: regsvr32 midas.dll ; install mdac

© 著作权归作者所有

共有 人打赏支持
s
粉丝 0
博文 10
码字总数 6185
作品 0
广州
私信 提问
UWP使用MySql.Data.RT.dll连接mysql抛异常System.ArgumentException

连接字符串: "Server=localhost;Database=db;Uid=root;Pwd=*****;SslMode=None;" 报错信息 “System.ArgumentException”类型的异常在 mscorlib.ni.dll 中发生,但未在用户代码中进行处理 ...

syj52417
2016/04/20
468
1
【select模块】select IO多路复用和select实现FTP

select是全平台通用的IO多路复用模块。最大连接数:1024。 poll和epoll没有最大连接数限制,但只能用在linux平台。 selectors是再封装模块,推荐使用。下篇会讨论。 select.(rlist, wlist, ...

等你的破船
07/26
0
0
基础才是重中之重~国外大牛对linq查询的扩展,有时还是T-SQL的样子好

事实上,本扩展主要是将linq中的lambda表达式的写法改为了传统的SQL写法 Dynamic Expressions and Queries in LINQ Database applications frequently rely on “Dynamic SQL”—queries tha...

mcy247
2017/12/04
0
0
Spring Auto-Wiring Beans

In Spring framework, you can wire beans automatically with auto-wiring feature. To enable it, just define the “autowire” attribute in <bean>. <bean id="customer" class="com.mk......

pczhangtl
2013/12/05
0
0
springmvc springsecurity问题

在springmvc+springsecurity的项目中,若使用POST方式登录, 则出现以下问题: “HTTP Status 405 - Request method 'GET' not supported” 其中security.xml配置为: spring mvc.xml为 两者...

简单仁
2017/09/28
66
4

没有更多内容

加载失败,请刷新页面

加载更多

tomcat线程模型

Connector结构 BIO模式 NIO模式

grace_233
21分钟前
1
0
Javascript

变量定义 以$,_,字母开头 大小写敏感 var 关键字声明变量 声明未赋值undefined 数据类型 字符串,数字,布尔,数组,NULL,undefined 变量均为对象 函数 无默认值 var声明的是局部变量 函数外声明...

关元
22分钟前
1
0
文件系统、服务、防火墙、SELINUX——安全四大金刚

一提到安全,大家都会想到防火墙,和文件系统权限。而实际工作环境中,我们在Linux的安全配置,会涉及到四个级别。我们思考一个场景,你要在百度盘中存放一个文件,这个动作需要考虑下面四个...

Linux就该这么学
24分钟前
1
0
从源码角度理解Java设计模式——门面模式

一、门面模式介绍 门面模式定义:也叫外观模式,定义了一个访问子系统的接口,除了这个接口以外,不允许其他访问子系统的行为发生。 适用场景:子系统很复杂时,增加一个接口供外部访问。 优...

我叫刘半仙
33分钟前
2
0
新鲜出炉,2019最新大厂面试题总汇!

在这个互联网技术快速迭代的时代,每个程序员都知道技术对于职业发展的重要性,那些技术好的程序员不仅薪资高,而且大多数集中在一线互联网企业工作,让人感觉非常高大上的同时,也想去大厂做...

Java架构资源分享
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部