我正在尝试制作一个vb6 prog来等待创建一个pdf文件.
现在我只是暂停3秒:
现在我只是暂停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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。