# Re: VB 的一小儿经验

Posted by Windows NT user on October 27, 1998 at 18:44:10:

In Reply to: Re: VB 的一小儿经验 posted by Maxwell on October 27, 1998 at 02:07:39:

: : 我在这里想发表一些经验
: : 当程式在挚行一个很长的回圈时,电脑对使用者的回应可能会变慢,因此,我在这里建议各位:当各位在写程式时,如程式需要挚行个很长的回圈,请在回圈中的适当位置加入DOEVENTS.这样做,虽然程式可能会挚行得比较慢些,但这样做却可以大大缩短windows,回应使用者的时间,而且,当另一个程式当掉的时候,适当的doevents可以保持整个系统的稳定.所以我建议各位在写程式时,加入适当的DoEvents.

: 但是 DoEvents 会导致原本应该在做完某件事之后才会产生的事件提早在做完前产生, 举个例像是 Winsock 在 SendData 前就发现 Connection 已经 Closed 了, 那么还得额外花更多的程式码(代表更大亦或更慢的程式)来弥补这些问题...举 Winsock 的原因是 Winsock 呼叫 SendData 方法后得跑 DoEvents, 要不然对方会无法收到资料...这有解决的办法吗?

"适当位置",我想这位人兄没有注意了.当然,如果在加入DoEvents后会发生问题的话,那么便没有理加入了.但是,在以下的程式码,
sub readfile()
dim i as long
dim temp as byte
for i = 1 to lof(1)
get 1,i,temp
.
.
.
.
.
next i
.
end sub
加入Doevents便很重要了.

Follow Ups: