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

libraryProject2;usesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Form... 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就不对了,请高手帮忙解决一下。。。

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

谢谢!!!!!!!!!!
展开
 我来答
熊冰昳5B
2009-01-31 · TA获得超过490个赞
知道小有建树答主
回答量:632
采纳率:0%
帮助的人:477万
展开全部

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

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 = ('失败', '成功'); 

var 

b: boolean; 

begin 

b := linkserver(edit1.Text, strtointdef(edit2.Text, 80)); 

showmessage('连接到' + edit1.Text + #13 + ba[b]); 

end;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式