IdTCPServer的OnExecute事件中创建窗体的问题
喝口水 2008-05-11 07:30:17 简单的程序:看代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
IdTCPServer;
type
TForm1 = class(TForm)
IdTCPServer1: TIdTCPServer;
IdAntiFreeze1: TIdAntiFreeze;
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
msg;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
str:string;
begin
str:=AThread.Connection.ReadLn('');
fmsg:=TFmsg.Create(application);
fmsg.s:=str;
fmsg.Show;
end;
end.
unit msg;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFmsg = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
s:string;
end;
var
Fmsg: TFmsg;
implementation
{$R *.dfm}
procedure TFmsg.FormCreate(Sender: TObject);
begin
memo1.Lines.Add(s);
end;
procedure TFmsg.Button1Click(Sender: TObject);
begin
close;
end;
end.