菜鸟刚学idudpserver控件,想实现一个小功能,动态设置自己的本地端口,怎么不对呢???(100分)

  • 主题发起人 主题发起人 wanglong4
  • 开始时间 开始时间
W

wanglong4

Unregistered / Unconfirmed
GUEST, unregistred user!
我想设置我的idudpserver1控件的本地端口是4000,如果被占用,就加1,为4001,如果又被占用,就再加1,我这么写怎么不对呢??
procedure TForm1.Button2Click(Sender: TObject);
var
de, tag: integer;
begin
de := 4000;
tag := 0;
while tag = 0 do
begin
try
idudpserver1.DefaultPort := de;
idudpserver1.Active := true;
tag := 1;
except
de := de + 1;
end;
end;
showmessage('最终使用了' + inttostr(de) + '端口');
end;
 
不要使用idudpserver的defaultport,使用bindings就可以了。
 
没想到,菜鸟问的这个问题如此高难。
 
怎么不对呀?
 
在启动服务之前加上这句试试?
IdUDPServer2.Bindings.Clear
 
with IdUDPServer do begin
Active := False;
Bindings.Clear;
DefaultPort := 4000;
Active := True;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部