声明
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
解决方案 »
- 想用DELPHI写个像传奇登录器一样的生成器,如何写。给各思路。
- 达人帮帮忙,看看这个怎么做!多谢了!
- 如何将二进制流转换成字符串?(在线)
- ▲▲▲▲▲▲求助!在线等!谢谢!▲▲▲▲▲▲
- BDE的Table的fliter问题???
- Delphi的数据库应用程序
- 请教:一个菜鸟的问题?
- 如何把integer转成string?
- DBGrid在进行某项操作后要隐藏中间的某一条记录(使它不可见),不知有没有什么办法?当然是不希望删除掉它再刷新的那种操作。
- 如何将delphi的应用程序锁死??
- 求救!!请问编写"撤消"则么实现(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文件。
然后刷新一下,在单元文件中出现的过程中写代码.