unit Unit1;
![](/Images/OutliningIndicators/None.gif)
interface
![](/Images/OutliningIndicators/None.gif)
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer, StdCtrls,idsockethandle;
![](/Images/OutliningIndicators/None.gif)
type
TForm1 = class(TForm)
Button1: TButton;
IdUDPServer1: TIdUDPServer;
procedure Button1Click(Sender: TObject);
private
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{ Private declarations }
public
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{ Public declarations }
end;
![](/Images/OutliningIndicators/None.gif)
var
Form1: TForm1;
![](/Images/OutliningIndicators/None.gif)
implementation
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{$R *.dfm}
![](/Images/OutliningIndicators/None.gif)
procedure TForm1.Button1Click(Sender: TObject);
var ok:boolean ;
tempport:integer;
asockethandle:tidsockethandle;
begin
tempport:=idudpserver1.DefaultPort;
repeat
try
idudpserver1.Active:=true;
ok:=true;
except
on EIdCouldNotBindSocket do
begin
IdUDPServer1.Active:=false;
IdUDPServer1.Bindings.Clear;
ASocketHandle:=IdUDPServer1.Bindings.Add;
tempport:=tempport+1;
ASocketHandle.Port:=tempport ;
![](/Images/OutliningIndicators/None.gif)
end;
end;
until ok;
showmessage(inttostr(idudpserver1.Binding.Port));
end;
![](/Images/OutliningIndicators/None.gif)
end.
loop's blog
posted on
2004-11-11 19:50
loop
阅读(
2173)
评论()
编辑
收藏
举报