发布了3天还没解决的问题!!!请高手帮忙 ( 积分: 80 )

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

weserver

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用RAS控制ADSL的自动连接和断开
建立RAS对象后
RAS := TRAS.Create (Self) ;
我分别用连接和断开测试都是正常的

连接
RAS.EntryName:='ADSL';
RAS.AutoConnect;
RAS.LeaveOpen;

断开连接
RAS.GetConnections ;
RAS.ReOpen (0) ;
RAS.DisConnect;

但奇怪的是我想设置成每10秒连接,然后每10秒断开
例如
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i=1 then
begin
RAS.EntryName:='ADSL';
RAS.AutoConnect;
RAS.LeaveOpen;
i:=2;
end
else
begin
RAS.GetConnections ;
RAS.ReOpen (0) ;
RAS.DisConnect;
i:=1;
end;
end;

程序连接前是等待10秒,但连接后才三四秒就马上断开,而且后面的几次循环中连接后与断开前的等待时间越来越短,不知道是什么原因??

知道的大哥大姐请多多帮忙.先谢谢了!
 
我想用RAS控制ADSL的自动连接和断开
建立RAS对象后
RAS := TRAS.Create (Self) ;
我分别用连接和断开测试都是正常的

连接
RAS.EntryName:='ADSL';
RAS.AutoConnect;
RAS.LeaveOpen;

断开连接
RAS.GetConnections ;
RAS.ReOpen (0) ;
RAS.DisConnect;

但奇怪的是我想设置成每10秒连接,然后每10秒断开
例如
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i=1 then
begin
RAS.EntryName:='ADSL';
RAS.AutoConnect;
RAS.LeaveOpen;
i:=2;
end
else
begin
RAS.GetConnections ;
RAS.ReOpen (0) ;
RAS.DisConnect;
i:=1;
end;
end;

程序连接前是等待10秒,但连接后才三四秒就马上断开,而且后面的几次循环中连接后与断开前的等待时间越来越短,不知道是什么原因??

知道的大哥大姐请多多帮忙.先谢谢了!
 
可能不是Timer1Timer中的问题
 
有三种计时方法,TTimer的误差是最大,精确计时根本就不能用。你去查查旧贴就知道了。
 
不过这样的话就可以用来升级QQ了,反复上线时间还很短,和和
 
这也许是时间计数的问题: 如连接需要4--6秒,这时没有重新计秒,再过4秒在触发,就断开了,应该有一个检测状态的timer2(间隔为1秒),连接的状态变化,就对timer1重新计秒,
 
TTimer的精确度大概在50/60ms左右.每秒钟18.2次.但是这个是通过消息机制传播的,且此消息的优先级较低.比如,拖动窗口时.不过10秒的数量及绝对可以满足了.问题不会出在这里.
//来自:py6530
//这也许是时间计数的问题
ADSL地连接虽然比起MODEM的18秒(类似)短的很多,但仍然需要时间的
 
多人接受答案了。
 
后退
顶部