vb6 – 等待使用超时创建文件

前端之家收集整理的这篇文章主要介绍了vb6 – 等待使用超时创建文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试制作一个vb6 prog来等待创建一个pdf文件.
现在我只是暂停3秒:

startTime = Time
endTime = TimeValue(startTime) + TimeValue(TimeSerial(0,3))
While endTime > Time
Wend

If FSO.FileExists(sPdfFileName) Then
    OkCreatedPDF = True
Else
    OkCreatedPDF = False
End If

但有时候pdf创作花费的时间超过3秒.所以我想等待创建文件,但是超时(10秒).我不想延长等待时间,因为这将会运行一千次.

解决方法

你可以使用1000毫秒的睡眠,这意味着它将等待1秒,直到它继续运行代码,使用一个名为sTimeout的标志变量你可以定义它将运行循环的秒数,我硬编码10但你可以制作另一个用于设置秒的变量,每秒运行循环并将sTimeout增加1,一旦达到10,它将完成while循环.

Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Function GeneratePDF()
    Dim sTimeout as Integer

    Call YourPDFroutine()

    StatusLabel.Caption = "Wait until PDF is finished..."
    While FSO.FileExists(sPdfFileName) = False
        sTimeout = sTimeout + 1
        Sleep 1000
        If sTimeOut > 10 Then
            OkCreatedPDF = False
            StatusLabel.Caption = "ERROR: Timeout!"
            Exit Function
        End If
    Wend

    OkCreatedPDF = True
    StatusLabel.Caption = "The PDF " & sPdfFileName & " was generated!"
End Function

猜你在找的VB相关文章