声明
procedure QueryDetail(Index, EmpID: OleVariant); safecall;procedure TRLZY_RDM.QueryDetail(Index, EmpID: OleVariant);
begin
case Index of
1:
with ADOQ_Resume do
begin
Close;
SQL.Clear;
SQL.Add('select * from Resume where EmpID = :EmpID');
Parameters.ParamByName('EmpID').Value
:= EmpID;
Open;
end;
2:
...
3:
...
end;提示错误: Method "QueryDetail" not supported automation object
procedure QueryDetail(Index, EmpID: OleVariant); safecall;procedure TRLZY_RDM.QueryDetail(Index, EmpID: OleVariant);
begin
case Index of
1:
with ADOQ_Resume do
begin
Close;
SQL.Clear;
SQL.Add('select * from Resume where EmpID = :EmpID');
Parameters.ParamByName('EmpID').Value
:= EmpID;
Open;
end;
2:
...
3:
...
end;提示错误: Method "QueryDetail" not supported automation object
解决方案 »
- 类型的实际和正式变种参数不同的错误
- 烦死易趣和DELL了,老是给弹出浏览器窗口来
- Delphi这么少人用吗?
- Ado控件問題,在線等!
- 用IdSMTP+IdSMTPServer+IdDNSResolver+IdMessage做一个邮件发送程序,但不知把解析出的邮件地址用在哪
- 动态导入其他数据库(如FOX的,SQL的。。。)100分
- 我用WebSnap技术做了一个数据库网页,在每个网页的顶端放上另一张网页,只可惜只能显示文字不能显示图片,请高手帮忙为我看一下这张网页
- 圆形按钮问题
- 大学这四年。。。
- 在开发数据库时(MS_SQL),如何处理错误
- 求救!!请问编写"撤消"则么实现(100分)
- delphi 开发的程序能不能在WINDOWS2000服务器上安装,能不能正常运行:;
我按照你的方法,没提示错误.但传参数到服务器没有把数据返回到客户端,能不能再回答我这个问题?谢谢!
//调用应用服务器上定义的接口,检查用户名称和密码
if sktconnect.appserver.CheckName('chen','12345') then
edit1.text:='it is ok'
else
edit1.text:='it is error';
2.静态调用
首先,在应用服务器上注册com组件,必要情况下运行ScktSrvr.exe
其次,在客户端注册com组件,然后客户应用程序就可以方便的调用com应用程序
注意1:如果用dcom或corba作为通信协议连接应用服务器,最后采用静态编联方式来访问
远程数据模块的接口,方法是用特定的接口类型对appserve属性进行强制类型转换。
假设远程数据模块的接口叫IMyAppServer
如:
dcom方式调用:
with MyConnection.AppServer as IMyAppServer Do
Value:=CheckName('chen','12345');
corba方式调用:
with IUnknown(MyConnection.AppServer) as IMyAppServer Do
Value:=CheckName('chen','12345');
注意2:对于dcom方式来说,要使用静态联编方式调用远程数据模块的接口,
她的类型库必须在客户端注册。
对于corba方式来说,要使用静态联编方式调用远程数据模块的接口,
必须在客户端引用类型库编辑器生成的_TLB.pas文件。
然后刷新一下,在单元文件中出现的过程中写代码.