如题,在动态库外均没有问题(即拷贝到一个临时程序中),在动态库中执行,没有相应,也不报错。代码没问题  sckMis:=TSocketConnection.create(TApplication(mainApp));
  with sckMis do
  begin
    Host:=sServerName;
    ServerName:=sServicesName;
    LoginPrompt:=false;
    Close;
    Open;//<<这里没响应
    AppServer.GetAuthorized(sUserName,sPassword);
  end;

解决方案 »

  1.   

    是不是TSocketConnection不支持啊,我在DLL中内置窗体直接Open都不好用
      

  2.   

    一般没问题的,你跟踪sServerName这些变量当前值对吗?
      

  3.   

    对的,我把代码直接挪到DLL之外执行都可以的,内置一个窗体,在测试时可以直接Connect的那种,在程序运行时候动态Open也是没有响应,不报错,客户端长久没有响应。我的程序采用动态库作为功能模块,想在动态库中通过参数传递可以公用同一个Appsever
      

  4.   

    在TSocketConnection创建之前CoInitialize(nil);
    最后CoUninitialize; 试试
      

  5.   

    TSocketConnection在DLL中使用是没问题的,看你的SocketConnection,是如何声明的,你可以在DLL里面放一个窗体,在窗体上面放一个SocketConnection,声明为public的,然后试试,我这么用从来没有出过问题
      

  6.   

    TO 三竿兄弟
    俺没有用COM啊,这个没关系吧。
    TO 乞丐兄弟 
    我的SocketConnection是一个全局变量,我试验的不行啊,把窗体上参数预制好的的一个TSocketConnection先显示再Open都不行,Delphi环境下和挪到DLL外都没问题
      

  7.   

    TO  三竿兄弟
    而且试过也不行,我现在直接传主程序中的TSocketConnection到动态库里,倒是可以了,就是奇怪