我的第一个问题,StrToInt怎么会出错呢?(50分)

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

woohey

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.ListenbtnClick(Sender: TObject);
var
ListenPort:string;
begin
if ServerSocket.Active then
begin
serversocket.Active:=false;
statusbar1.Panels[0].Text:='';
end;
if inputQuery('监听端口','端口:',ListenPort) then
Serversocket.LocalPort:=StrToInt(ListenPort);//这一句怎么会出错呢?
ClientSocket.Active:=false;
serversocket.Active:=true;
statusbar1.Panels[0].Text:='正在监听端口@'+ListenPort+'...';
end;

end.
------------------------
小弟刚刚注册不久,还是菜鸟,请关照
代码如上,serversocket是一个tcpserver控件~为什么
Serversocket.LocalPort:=StrToInt(ListenPort);//这一句怎么会出错呢?[:(]
还说是string与integer不符合?可是我已经用strtoint进行转换了呀?实在想不明白,问问高
手?
ps,我用的delphi7
 
Listenport是否包含非数字?或为空字串
 
Serversocket.LocalPort:=ListenPort;
 
要保证ListenPort是非空,最好用 StrToIntDef(ListenPort,缺省值)
 
procedure TForm1.ListenbtnClick(Sender: TObject);
var
ListenPort:string;
begin
if ServerSocket.Active then
begin
serversocket.Active:=false;
statusbar1.Panels[0].Text:='';
end;
if inputQuery('监听端口','端口:',ListenPort) then
Serversocket.LocalPort:=ListenPort;//这一句怎么会出错呢?
ClientSocket.Active:=false;
serversocket.Active:=true;
statusbar1.Panels[0].Text:='正在监听端口@'+ListenPort+'...';
end;

end.
 
还是不行:(
就是编译通不过
LeeChange你的方法可以可是原理上不通啊,能给我说明一下吗?照顾一下菜鸟:(
 
如果你的Serversocket是TTCPServer类型的话就一定能编译通过.
因为TTCPServer的LocalPort属性是TSocketPort类型,TSocketPort类型就是字符串.
怎么会说原理上不通呢?
 
谢谢了[:)]
 
后退
顶部