加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 07:28:32 所属栏目:百科 来源:网络整理
导读:我正在尝试制作一个vb6 prog来等待创建一个pdf文件. 现在我只是暂停3秒: startTime = TimeendTime = TimeValue(startTime) + TimeValue(TimeSerial(0,3))While endTime TimeWendIf FSO.FileExists(sPdfFileName) Then OkCreatedPDF = TrueElse OkCreatedPDF
我正在尝试制作一个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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读