小弟使用socketconnect 控件连接midas服务器,因为在连接服务器的时候如果服务器没有找到会有一个时间内,登录界面好像死机一样不能移动相信大家都遇到过。
于是我就把
socketconnect.Connected:=true;放到一个线程里在后台进行连接,前台等待结果。这样可以连接成功。但是连接后,再访问数据的时候会提示expected return value not received,这是什么意思?经检查sql命令已经通过服务器并在数据库执行了,但是好像没有把结果返回到客户端。请高手指教。

解决方案 »

  1.   

    我是这么写的procedure conn.Execute;
    begin
      msg:='开始连接服务器....';
      Synchronize(upmsg);
      try
        msg:='正在连接服务器,请等待....';
        Synchronize(upmsg);
        DM.SC1.Connected:=true;
        msg:='连接服务器成功,请登录';
        Synchronize(upmsg);
      except
        msg:='连接服务器失败,按【ESC】键退出';
        Synchronize(upmsg);
      end;
    end;
      

  2.   

    我觉的应该是MIDAS不知道在线程里建立连接
      

  3.   

    虽然两年的时间过去了,但我现在也遇到了该问题,通过多方面查询找到了解决方案,我的做法和你的是一样的。可以对于你来说已经没有意义了,但为了让后面的人能很快的解决该问题,我还是决定将答案放在这儿:把SocketConnection的SupportCallbacks关掉就可以了。
    呵呵