2012-10-10 59 views
1

我在視覺basic6,我想發送命令到連接到我的電腦一臺機器的要求。我只能在得到它的確認後才能發送命令。就是這樣。在發送第一個命令後進入睡眠狀態將使程序處於非活動狀態,並且我無法收到確認。延遲在VB 6

所以我想用變量或標誌和增量延誤的後續模塊。但我不知道如何實現這件事。我已經包含了這個樣本而不完整的代碼。但我不知道它是如何延遲的。我正在考慮定時器,轉到。有沒有其他的方法來實現這裏的延遲。

模塊,我將命令發送

//發送模塊

Sendcommand() 

Send command CMD1. 
If (flagcheck =2) 
Send command CMD2. 

模塊,我收到確認命令

Receive command() 

Select cmdname 
public flagcheck=0 
CASE ACK1.1 
     flagcheck=flagcheck+1 
CASE ACK1.2 
     flagcheck=flagcheck+1 
+1

使用一個定時器。 – SLaks

+0

謝謝@SLaks ..沒有計時器我可以做與轉到..? – ShivShambo

回答

2

通常你可以這樣做

SendCommandOne 

While flag = 0 ' ReceiveCommand would set flag to 1 
    DoEvents 
End While 

SendCommandTwo 

+0

+1,IMO這是落實如果延遲等待另一個進程完成的最好的方式。 –

+0

http://stackoverflow.com/questions/4526659/what-does-doevents-do-in-vb6有人正在使用的DoEvents不建議.. – ShivShambo

+0

@shivoham好一點,但是這可能周圍採用靜態布爾變量進行加工。我覺得有必要增加這個問題的答案。 –