做了一个DCOM的中间层服务程序,测试从D4移植到D5时候,提示出错:[Error] DcomCsServerp.pas(58): Undeclared identifier: 'GetProviderNames'问题定位在DELPHI的控件升级上,从D4到D5做了更改,可是如何解决,请教大家远程数据模块代码如下:type
  TDcomCsServer = class(TRemoteDataModule, IDcomCsServer)
    DPMZLS: TProvider;
    DPMZYP: TProvider;
    DPZYTP: TProvider;
    DPZYKS: TProvider;
    DPZYFZ: TProvider;
    DPZYLS: TProvider;
    DPMZFZ: TProvider;
    DPZYYP: TProvider;
    DPYDYP: TProvider;
    DppZYCW: TProvider;
    DPPZYTW: TProvider;
    DPYD_JSLS: TProvider;
    function DSPMZLS1DataRequest(Sender: TObject;
      Input: OleVariant): OleVariant;
    function DSPZYLSDataRequest(Sender: TObject;
      Input: OleVariant): OleVariant;
    procedure DSPMZLS1UpdateData(Sender: TObject; DataSet: TClientDataSet);
    procedure DSPZYLSUpdateData(Sender: TObject; DataSet: TClientDataSet);
    function DPMZLSDataRequest(Sender: TObject;
      Input: OleVariant): OleVariant;
    procedure DPZYLSUpdateData(Sender: TObject; DataSet: TClientDataSet);
    function DPZYLSDataRequest(Sender: TObject;
      Input: OleVariant): OleVariant;
    procedure DPMZLSUpdateData(Sender: TObject; DataSet: TClientDataSet);
    function DPYD_JSLSDataRequest(Sender: TObject;
      Input: OleVariant): OleVariant;
  private
    { Private declarations }
  public
    { Public declarations }  protected
    Function MzConnect(Ls_Jsyy,Ls_Cfbh:String):Boolean;
    Function ZYConnect(Ls_Jsyy:String;Ls_Cfbh:String):Boolean;
    function Get_DPMZLS: IProvider; safecall;
    function Get_DPYDYP: IProvider; safecall;
    function Get_DPZYTP: IProvider; safecall;
    function Get_DPZYKS: IProvider; safecall;
    function Get_DPZYFZ: IProvider; safecall;
    function Get_DPZYLS: IProvider; safecall;
    function Get_DPZYYP: IProvider; safecall;
    function Get_DPMZFZ: IProvider; safecall;
    function Get_DPMZYP: IProvider; safecall;
    function Get_DppZYCW: IProvider; safecall;
    function Get_DPPZYTW: IProvider; safecall;
    function Get_DPYD_JSLS: IProvider; safecall;
  end;//编译时,光标定位在这里,然后提示错误信息如前var
  DcomCsServer: TDcomCsServer;
类模块定义:unit ChatServer_TLB;  IDcomCsServer = interface;
  IDcomCsServerDisp = dispinterface;  DcomCsServer = IDcomCsServer;  IDcomCsServer = interface(IDataBroker)
    ['{85294AC4-1933-11D5-BC77-0000B434B269}']
    function Get_DPMZLS: IProvider; safecall;
    function Get_DPYDYP: IProvider; safecall;
    function Get_DPZYTP: IProvider; safecall;
    function Get_DPZYKS: IProvider; safecall;
    function Get_DPZYFZ: IProvider; safecall;
    function Get_DPZYLS: IProvider; safecall;
    function Get_DPZYYP: IProvider; safecall;
    function Get_DPMZFZ: IProvider; safecall;
    function Get_DPMZYP: IProvider; safecall;
    function Get_DppZYCW: IProvider; safecall;
    function Get_DPPZYTW: IProvider; safecall;
    function Get_DPYD_JSLS: IProvider; safecall;
    property DPMZLS: IProvider read Get_DPMZLS;
    property DPYDYP: IProvider read Get_DPYDYP;
    property DPZYTP: IProvider read Get_DPZYTP;
    property DPZYKS: IProvider read Get_DPZYKS;
    property DPZYFZ: IProvider read Get_DPZYFZ;
    property DPZYLS: IProvider read Get_DPZYLS;
    property DPZYYP: IProvider read Get_DPZYYP;
    property DPMZFZ: IProvider read Get_DPMZFZ;
    property DPMZYP: IProvider read Get_DPMZYP;
    property DppZYCW: IProvider read Get_DppZYCW;
    property DPPZYTW: IProvider read Get_DPPZYTW;
    property DPYD_JSLS: IProvider read Get_DPYD_JSLS;
    //注意这里并没有GetProviderNames函数声明,在D4里也正常啊
  end;  IDcomCsServerDisp = dispinterface
    ['{85294AC4-1933-11D5-BC77-0000B434B269}']
    property DPMZLS: IProvider readonly dispid 14;
    property DPYDYP: IProvider readonly dispid 15;
    property DPZYTP: IProvider readonly dispid 17;
    property DPZYKS: IProvider readonly dispid 18;
    property DPZYFZ: IProvider readonly dispid 19;
    property DPZYLS: IProvider readonly dispid 20;
    property DPZYYP: IProvider readonly dispid 21;
    property DPMZFZ: IProvider readonly dispid 22;
    property DPMZYP: IProvider readonly dispid 23;
    property DppZYCW: IProvider readonly dispid 24;
    property DPPZYTW: IProvider readonly dispid 25;
    property DPYD_JSLS: IProvider readonly dispid 1;
    function GetProviderNames: OleVariant; dispid 22929905;
    //这里虽然有,但是远程数据模块用的接口不是它,而是IDcomCsServer 
  end;  CoDcomCsServer = class
    class function Create: IDcomCsServer;
    class function CreateRemote(const MachineName: string): IDcomCsServer;
  end;在线等待