一、服务器远程数据模块中接口方法的定义:
    procedure Y_Add(const J_ID, J_NAME, J_BUMEN, J_ZHIWU, J_SEX, J_XUELI,
                      J_ZHENGJIAN, J_TSQZU, J_LXFS, J_ADDRESS, J_BEIZHU,                                             J_AGE,J_JCRQ,J_TSRQ,J_JBGZ: WideString;
                      J_GPFF, J_CFFF, J_GJFF: Integer); safecall;    客户端返回的数据:
    DMRS.DCOMCRS.AppServer.Y_Add(EDITID.Text,EDITNAME.Text,EDITBUMEN.Text,
                             EDITZHIWU.Text,EDITSEX.Text,EDITXUELI.Text,
                             EDITZHENGJIAN.Text,EDITTSQZU.Text,MEMOLXFS.Text,
                             MEMOADDRESS.Text,MEMOBEIZHU.Text,EDITAGE.Text,
                            JCRQ,ZZRQ,EDITJBGZ.Text,GPFF,CFFF,GJFF);
    其中:JCRQ,ZZRQ:string;
          GPFF,CFFF,GJFF:integer;
    错误提示是:........类型不匹配..........;    请问,客户端的数据应该是什么类型,如何转换;
        1、EDITID.TEXT
        2、GPFF
        3、如果接口定义有procedure AAA(DATE:TDATETIME);safecall;
           则客户端应为:DCOMClientconnection1.AppServer.AAA(???);
-------------------------------------------------------------------------
-------------------------------------------------------------------------
二、服务器远程数据模块:
    function Get_Y_Login(const ID, PASS: WideString): WideString; safecall;
    
    请问客户端如何调用:
    DCOMClientConnection1.???????.Get_Y_Login(?????,?????);
    (我是用  var  power:string;
     power:=DCOMClientConnection1.AppServer.Get_Y_Login(edit1.text,edit2.text);)申明:是使用type library editor定义,并注册的。

解决方案 »

  1.   

    一.用OleVariant试一下!
    好象问题有点长呀,看得我头痛,哈哈.
      

  2.   

    应该是你的integer有错。你试试sysint 或int(服务端),如果可以了不要忘了告诉我一声。[email protected]
      

  3.   

    你的类型不匹配应该不是ADO的参数化查询或存储过程调用类型不匹配吧.
    看看.
      

  4.   

    帮帮忙呀!
    谁答出了(详细的),
    连  http://expert.csdn.net/Expert/topic/1881/1881529.xml?temp=.6056177  
    中的40分也给他!!!
      

  5.   

    我不知道你为什么要这么传递参数。这样的方法是不是太笨了。
    第二个过程你的函数返回是WideString,程序中调用是String;
      

  6.   

    我在MIDASZ中看到好多人问这个问题,看来大家与我一样,但这么多分却没人要,怪! 这个方法应该是可行的呀!
      

  7.   

    第二个要先创建远程DCOM对象吧
      

  8.   

    服务器远程数据模块中,
    function Get_Y_Login(const ID, PASS: WideString): WideString; safecall;将 safecall 改为 stdcall 试试返回值好象不可以是 string 吧?
      

  9.   

    我把答案发到你的MAIL了!接分!