以下是我的代码,但是老是提示“undeclared identifier athread”为什么啊?TCPSERVER还有THREAD,怎么回事啊?窗体上现在有TCPCLIENT 和TCPSERVER组件
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase,
IdUDPServer, IdTCPServer, IdTCPConnection, IdTCPClient;type
TFRMCHAR = class(TForm)
CLIENT1: TIdTCPClient;
SERVER1: TIdTCPServer;
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SERVER1Execute(AThread: TIdPeerThread);
private
{ Private declarations }
public
{ Public declarations }
end;var
FRMCHAR: TFRMCHAR;implementation{$R *.dfm}procedure TFRMCHAR.Button1Click(Sender: TObject);
VAR
I:INTEGER;
begin
CLIENT1.Host:='TRIM(EDIT1.TEXT)' ;
CLIENT1.PORT:=1001;
WITH CLIENT1 DO
BEGIN
IF CLIENT1.Connected=FALSE THEN
CLIENT1.Connect;
FOR I:=0 TO MEMO1.Lines.Count-1 DO
CLIENT1.WRITELN(MEMO1.Lines[I]);
CLIENT1.Disconnect;
END;
MEMO1.Clear;end;procedure TFRMCHAR.Button2Click(Sender: TObject);
VAR
TEXT:STRING;
begin
APPLICATION.MessageBox('来了新消息','提示',64);
TEXT:=athread.CONNECTIONG.READLN;
EDIT3.Text:=FORMATDATE('HH-MM-SS',NOW);
WHILE TRIM(TEXT)<>'' DO
BEGIN
MEMO2.Lines.Add(TEXT);
TEXT:=ATHREAD.CONNECTION.READLN;
ENDend;procedure TFRMCHAR.SERVER1Execute(AThread: TIdPeerThread);
var stype:string;begin
stype:=AThread.Connection.ReadString();
if stype='ABC' then AThread.connectiong.disconnect;
end;end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase,
IdUDPServer, IdTCPServer, IdTCPConnection, IdTCPClient;type
TFRMCHAR = class(TForm)
CLIENT1: TIdTCPClient;
SERVER1: TIdTCPServer;
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SERVER1Execute(AThread: TIdPeerThread);
private
{ Private declarations }
public
{ Public declarations }
end;var
FRMCHAR: TFRMCHAR;implementation{$R *.dfm}procedure TFRMCHAR.Button1Click(Sender: TObject);
VAR
I:INTEGER;
begin
CLIENT1.Host:='TRIM(EDIT1.TEXT)' ;
CLIENT1.PORT:=1001;
WITH CLIENT1 DO
BEGIN
IF CLIENT1.Connected=FALSE THEN
CLIENT1.Connect;
FOR I:=0 TO MEMO1.Lines.Count-1 DO
CLIENT1.WRITELN(MEMO1.Lines[I]);
CLIENT1.Disconnect;
END;
MEMO1.Clear;end;procedure TFRMCHAR.Button2Click(Sender: TObject);
VAR
TEXT:STRING;
begin
APPLICATION.MessageBox('来了新消息','提示',64);
TEXT:=athread.CONNECTIONG.READLN;
EDIT3.Text:=FORMATDATE('HH-MM-SS',NOW);
WHILE TRIM(TEXT)<>'' DO
BEGIN
MEMO2.Lines.Add(TEXT);
TEXT:=ATHREAD.CONNECTION.READLN;
ENDend;procedure TFRMCHAR.SERVER1Execute(AThread: TIdPeerThread);
var stype:string;begin
stype:=AThread.Connection.ReadString();
if stype='ABC' then AThread.connectiong.disconnect;
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货