我在三层应用中,客户端与应用服务器之间的通讯是基于IP的,
在客户端采用SOCKETCONNECDTION连接应用服务器,我现在要在客户端
把数据传给应用服务器处理,网友告诉我用AppServer,也就是在基于IP的
环境下(即用socketconnection连接应用服务器),在客户端通过
socketconnection.appserver.getsql调用应用服务器的接口方法。
    我现在在应用服务器以_TLB结尾的文件中定义了这个接口,然后在客户端调用:
  socketconnection.appserver,到这里就再也看不到接口、方法和属性了,
我的socketconnection的connect属性已经设为true了用clientdataset向服务器端传数据或执行sql语句都正常,困惑中......

解决方案 »

  1.   

    直接使用socketconnection.appserver是late bingding 的调用方式,在写代码时无法检查调用方法的名称和参数正确性,是在执行时再进行检查.你如果定义了getsql这个方法
    那你就写成
    socketconnection.appserver.getsql(你的参数); 也无需引用xxx_tlb这个单元.socketconnection 还有另外一种更有效率的调用方法的,你可以直接看在线HELP 的call interface
      

  2.   

    我的代码是这样的
    LoadChildMDIInfo.FSocketConnection.AppServer.SQLExe(' exec PROC_sc_gczt  '
                        +' '''+UserInfo.FWorkerCode+''');错误提示是 Method'SQLExe' not supported by automation object
      

  3.   

    你的客户端不要use 你服务器的xx_tlb
      

  4.   

    谢谢 lwjghhh() 的关注我在客户端的确没有use
      

  5.   

    楼主是否忘添加COM输出接口了,通常COM当中需要定义IDL文件,而Delphi当中有和个Type Libaray窗口用来编辑并且自动编译成.TLB文件,楼主很可能是因为没有添加相应的输出接口。