用UDP传字符串出错!求救!!! |
尚未結案
|
coldcoffee
一般會員 發表:60 回覆:22 積分:16 註冊:2003-05-23 發送簡訊給我 |
我做了个UDP送string的程序,可是当点button1时,form1的caption什么都没有显示,这是为什么?我应该怎么改我的程序?
以下是我写的程序源代码: unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdUDPClient, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,IdSocketHandle; type
TForm1 = class(TForm)
IdUDPServer1: TIdUDPServer;
IdUDPClient1: TIdUDPClient;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPClient1.Host := '127.0.0.1';
IdUDPClient1.Port := 6000;
IdUDPClient1.ReceiveTimeout := 50;
|
coldcoffee
一般會員 發表:60 回覆:22 積分:16 註冊:2003-05-23 發送簡訊給我 |
不好意思,刚刚那个不全。
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdUDPClient, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,IdSocketHandle; type
TForm1 = class(TForm)
IdUDPServer1: TIdUDPServer;
IdUDPClient1: TIdUDPClient;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPClient1.Host := '127.0.0.1';
IdUDPClient1.Port := 6000;
IdUDPClient1.ReceiveTimeout := 50;
IdUDPServer1.DefaultPort := 6000;
IdUDPServer1.Active := True;
IdUDPClient1.Send('123'); end; procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
begin
form1.Caption:=IdUDPServer1.ReceiveString(50);
end; end.
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
試試 :
procedure TForm1.Button1Click(Sender: TObject); begin IdUDPServer1.DefaultPort := 6000; IdUDPServer1.Active := True; IdUDPClient1.Send('127.0.0.1',6000,'123'); end; procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); var s: string; begin SetLength(s, AData.Size); AData.Read(s[1], AData.Size); form1.Caption:=s; end; |
coldcoffee
一般會員 發表:60 回覆:22 積分:16 註冊:2003-05-23 發送簡訊給我 |
引言: 試試 :多谢,TStream是什么类?以前还真没有注意到。procedure TForm1.Button1Click(Sender: TObject); begin IdUDPServer1.DefaultPort := 6000; IdUDPServer1.Active := True; IdUDPClient1.Send('127.0.0.1',6000,'123'); end; procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); var s: string; begin SetLength(s, AData.Size); AData.Read(s[1], AData.Size); form1.Caption:=s; end; |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |