我是用delphi6开发的,用SocketConnect通讯,客户端在程序运行中动态创建中间层的接口,(在中间层动态创建adoQuery和DataSetProvider并把二者关联起来,然后在客户端的ClientDataSet的providerName属性中写入中间层动态创建的DataSetProvider的名字,然后ClientDataSet.Active=true,中间层程序报错,提示为"provider not exported:dspaaaSearch",) 这些接口是设计期没有的,是不是因为这些动态生成的provider没有注册还是别的什么原因啊???有什么办法解决啊???  

解决方案 »

  1.   

    看看你的DataSetProvider的exported属性是否是true,以及你设置他的dataset了吗?只能试着猜猜
      

  2.   

    exported 已经设为true了,并且dataset 设为动态创建的adoQuery了..还是提示'provider not export : 接口名'
      

  3.   

    给动态生成的 DSP 的 Name 属性赋个值,也就是起个名字。并且 DSP 的 Owner 应该是 RDM。 调用的时候,CDS 的 ProviderName 就是 DSP 的 Name 值。
      

  4.   

    问题解决呢原来是我创建的方法不对,DataSetprovider := TDataSetprovider.Create(nil)是不对的,应该是把nil改成self,谢谢各位的回答帮助。