我将服务端的一个 DataSetProvider (DISINSPE) 删除了,将所有的obj文件删除,重新Build了程序。但当我使用一个新的程序连接上这个服务程序时,还可以看到这个Provider (DISINSPE),并且还能够正常读写原来接口提供的数据集。我故意在服务端又增加了一个新的Provider (DISINSPE2),重新Build程序,再次测试,运行,发现还可以看到 Provider (DISINSPE),但看不到新加的 (DISINSPE2)。我将新Build后的程序复制到别的计算机上,重新测试,这时发现 Provider (DISINSPE)已经不见了,Provider(DISINSPE2)可以看到了。
奇怪!
我已经将我的计算机系统都重新安装了,将系统盘也格式化了,还是这样。
测试过程中,我确信连接的是同一个程序(故意增加了一些提示信息,以辨别是否是新Build的程序),但在不同的计算机上出现不同的Provider列表,让我看不明白。

解决方案 »

  1.   

    你在命令行先运行 Project1.exe -unregserver,然后再运行你的服务程序应该就不会再有之前所定义的方法。
      

  2.   

    当我执行了 Project1.exe -unregserver后,在试图连接服务器程序,提示:Object not available: {xxxx-xxxx-xxxx-xxx} 错误。表明已经将原有注册信息卸载了。
    然后我执行了 Project1.exe -regserver后,再次连接服务器程序,连接成功了,但是还是前面我看到的问题。
      

  3.   

    问题解决了!! 居然是翻译界面引起的!
    我将在其他计算机上的运行正常的程序复制到我计算机的另外一个目录下,并在这个单独的目录下注册了服务器。再次运行,发现问题消失了!我的程序使用了Borland 的 Translation Manager,增加了英语(美国)、中文(中国)两种语言,我修改程序时,仅仅对 DataModal和Remote DataModal进行了修改,我以为与文字界面没有什么关系,所以仅仅Build了应用程序,而没有重新Build与语言有关的库文件Project1.ENU和Project1.CHS。问题解决了,就权当散分.