我写一个接收数据的线程封装在DLL中 但使用IDTcpClient就是失败!!
 线程在EXE 中使用就没问题 ,请问该如何解决????????
谢谢

解决方案 »

  1.   

    代码:
    unit FLService_Client_Main;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
      IdTCPConnection, IdTCPClient;type
      TDM = class(TForm)
        IdTCPClient: TIdTCPClient;
        IdAntiFreeze1: TIdAntiFreeze;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      DM: TDM;
    Function ServiceClient(ServerIP:Pchar;DatabaseIni:Pchar):Pchar;stdcall;
    implementation{$R *.dfm}
    Function ServiceClient(ServerIP:Pchar;DatabaseIni:Pchar):Pchar;begin
      DM.IdTCPClient.Host := Pchar(ServerIP);
      with DM.IdTCPClient Do
      begin
        try
          Connect(2000);
            try
              WriteLn('GETDATABASEINI');
              result := Pchar(ReadLn());
            except
              DM.IdTCPClient.Disconnect();
              result := Pchar('FLServiceD服务没有应答');
            end;
          except
            result := Pchar('FLServiceD服务没有应答');
          end;
        end;
    end;end.
      

  2.   

    查出原因了,是我没有DM := TDM.Create(Application);//创建控件TForm
    结贴了