?
Solved

Sleep function for visual basic ActiveX apps

Posted on 1998-10-05
9
Medium Priority
?
1,265 Views
Last Modified: 2013-11-25
Hello,

I would like to know how to perform a sleep in an Visual Basic ActiveX application. We have tried the following so far.

1) Creating an Alt/com object in MFC to be used by the Visual Basic ActiveX app. This seems to fail after a few calls. Maybe there is a conflict within the ActiveX apps even though each one is supposed to have their own Alt/Com
object.

2) Tried a multithreaded C DLL with a sleep function call.
Had the same problem as choice 1.

Is there a vbasic sleep for ActiveX apps ?

Thank You.
0
Comment
Question by:kkandasa
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 

Expert Comment

by:staticsnow
ID: 1438321
Declarations

                 Copy this code into the declarations section of the project.

                 Declare Sub Sleep Lib "kernel32" _
                 (ByVal dwMilliseconds As Long)          

                 Use

                 To delay the program for 1 second, use this code:

                 Call Sleep(1000)    
0
 

Author Comment

by:kkandasa
ID: 1438322
Tried it. Still does not work. Some of the apps error out at the
sleep line. When this happens, the On error goto label of the current function is not executed.
Instead On error goto label of a calling higher level function
is executed.
Appreciate any help/suggestions.
0
 
LVL 12

Expert Comment

by:fulscher
ID: 1438323
Off the top of my head, so it may contain syntax errors:

Place a timer control (Timer1) somewhere on your form. Add the following subs:

Sub Sleep(iDelayMS as integer)
  ' Program the timer and start it.
  Timer1.Interval = iDelayMS
  Timer1.Enabled = True

  ' disable user interaction
  Form1.Enabled = False

  ' Timer1 becomes disabled after it has expired:
  While Timer1.Enabled
    DoEvents
  Wend

  ' enable user interaction
  Form1.Enabled = True
End Sub

Sub Timer1_Timer
  'disable timer when it has expired.
  Timer1.Enabled = False
End Sub

 
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Expert Comment

by:staticsnow
ID: 1438324
what version of vb do you have?

0
 

Author Comment

by:kkandasa
ID: 1438325
We are looking for something to do in code i.e wait in a ActiveX
application which has no forms.  We cannot use a timer control.
0
 

Author Comment

by:kkandasa
ID: 1438326
Version 5.00
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1438327
the Sleep() function staticsnow told you is suppose to be working... Please tell me do you need the function for the C DLL or for VB code.....??? Thanks....


declare sub Delay( N as Long )
Dim S as Long
  S = GetTickCount + N;
  While GetTickCount < S do Yield;
end sub

YOu need to declare the following functions in the declaration section of your unit...

GetTickCount()   Yield                  

Example call : Call Delay(100)    ro Delay(100) or
dim a as long

a = Delay(100) or you think of it....don't know how to work in VB that good...

I don't know if the syntax of this is rightm, but I have the code for Delphi so tried to convert it to VB even though I don't know how to work very much in VB...

Regards,
Viktor Ivanov
0
 
LVL 13

Expert Comment

by:Mirkwood
ID: 1438328
You can do it without showing forms. You can access the form without it being visible.
BTW
 Sleep should work. It does in my case.
0
 

Accepted Solution

by:
Fantym earned 200 total points
ID: 1438329
Sub Wait(sngDelay as single)

     dim sngFinish
     'sngFinish is the timer value that will be true even
     'Near midnight

     sngFinish = (timer+sngDelay) mod 86400

     Do
          DoEvents
     loop while timer < sngFinish

end sub

This Works For Me
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question