以前用delphi开发好了一个项目,现在要升级,属于二次开发,这个项目人家已经用了几年了,没什么问题。我现在将源代码工程用delphi打开,在登入框输入ID和psw后提示Invalid data packet 的错误,真奇怪,在台式机上运行却不会出错,但在笔记本调试就出这样的错误,我采用的是三层结构,delphi6---ibmWebSphere---Oracle,但是原来的开发好的系统直接双击时,在笔记本上也是能运行的,可就是在delphi中打开时出错,代码一摸一样的,台式机上可行,而我这不行,为什么呢?

解决方案 »

  1.   

    这一般是由于连接异常断开造成的,没用过WEBSPHERE,具体问题不清楚
      

  2.   

    把WEBSPHERE的连接池关闭再运行试试
      

  3.   

    Invalid data packet一般发生在:
    ClientDataSet.data取得数据时
    对Olevariant进行赋值操作时。请检查对应的客户端或服务器代码。另外不要在调试模式下运行。编译后脱离IDE试下
      

  4.   

    错误的packet,似乎改了什么东西吧。
      

  5.   

    怎么感觉你像个刺猬,总是在挑别人的回答。我让你脱离IDE试下,目的是看是否只是在IDE环境下发生错误。因为即使你做了try except IDE还是抛出异常。说不定这个异常是需要并且可以处理的。是的,站在你的角度,你是什么都没有变,你如何保证这些代码和编译过的相同!你先抛出一个不会出错的命题(原来的开发好的系统直接双击时,在笔记本上也是能运行的,可就是在delphi中打开时出错,代码一摸一样的,台式机上可行,而我这不行,为什么呢?)然后对我说:代码我是没有变的。意思不就是我什么都没有动也会出错。你长的什么脑子。你不会想下,你的两台电脑配置一样吗、软件环境、防火墙、杀毒程序、MDAC....!不要发个问题就等着挑别人的回答,自己也要主动积极的去想去解决。
      

  6.   

    代码100%没有变的.你说的似乎有道理,但你说的情况我都考虑过了,什么"你的两台电脑配置一样吗、软件环境、防火墙、杀毒程序、MDAC....!不要发个问题就等着挑别人的回答,自己也要主动积极的去想去解决" 这些肯定不一样的,因为三台台式的,两台笔记本,加我的三台,别人的都能调试运行,可我的不行,即使拷他们的代码过来也不行,现在的电脑配置会差吗,所以已硬件没关系,你也许会说,那软件呢,环境培植呢,那我告诉你,这些肯定一样的,这个问题我问过很多厉害的项目经理没找到答案,因此我才来求助网络啊.
      

  7.   

    比如Delphi5带的和Delphi7的就不同,不同程序开发的发布时也不一样,你看看你所用的Midas的版本,
    一般是在System32下,Delphi5的是6.0,Delphi7的是7.0,建议用7.0
      

  8.   

    调试状态是会这样的啦, socket超时而已..哎