delphi7 在DLL中使用TIdTCPClient问题,连接不上服务器

来源:百度知道 编辑:UC知道 时间:2024/05/29 14:09:46
library Project2;

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdUDPServer, IdTCPServer, Sockets, IdUDPBase, IdUDPClient,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, ExtCtrls,
StdCtrls, Buttons, ComCtrls, IdThreadMgr, IdThreadMgrDefault, ScktComp,
IdIPWatch;

{$R *.res}

function linkserver():integer;stdcall;
var
IdTCPClient1.TIdTCPClient;
begin
IdTCPClient1.host:='127.0.0.1';
IdTCPClient1.port:=8000;
IdTCPClient1.connect(5000);
id IdTCPClient1.connected then
showmessage('已链接')
else
showmessage('未链接');
end;

exports
linkserver;
begin
end.

以上是源码,服务器程序没问题,我做了个应用程序,都能连上,并且能返回数据。。 做个DLL就不对了,请高手帮忙解决一下。。。

在线等。。盼。。。。。。。。。。

谢谢!!!!!!!!!!

如果可以,希望能加我百度好友,共同学习。 

DLL文件: 

library DLLDPR; 

uses 

ShareMem, 

IdTCPClient; 

{$R *.res} 

function linkserver(host: string; port: integer): boolean; 

var 

tcp: TIdTCPClient; 

begin 

tcp := tidtcpclient.Create(nil); 

tcp.Host := host; 

tcp.Port := port; 

try 

tcp.Connect(1000); 

except 

end; 

result := tcp.Connected; 

end; 

exports 

linkserver; 

end. 

EXE文件 

function linkserver(host: string; port: integer): boolean; 

external 'dlldpr.dll'; 

procedure TForm1.Button1Click(Sender: TObject); 

const 

ba: array[boolean] of string = (&