Solved

Missing Events

Posted on 2002-06-28
5
277 Views
Last Modified: 2008-01-09
Is it possible for Visual Basic to be so busy with tasks as to cause it to miss events?
I ask because this is my situation:
I have two projects. One is nothing but a form, with some functions that raise an event. When I run this program, the event always triggers as it's supposed to.
The other program has the identical code that generates the event but has many other items on the form, such as timers controls, etc.. When I run this project the event doesn't fire as it should unless I repeatedly click the command button that I'm using to test the event. Is there a way to "force" VB to look for events? or maybe stop what it's doing and watch for an event for, say , 2 seconds?..
I realize this question is general. I have source code if anyone is interested but I'm hoping I don't have to do that..
Thanks again!
Jeff
0
Comment
Question by:jscharpf
  • 2
  • 2
5 Comments
 
LVL 14

Accepted Solution

by:
mcrider earned 500 total points
ID: 7117269
I believe what you're looking for is the DoEvents function. Place it in your loops and timer events when they're tight. This will allow the system to process other events (like clicks).

BE CAREFUL WITH THIS FUNCTION!!!

Read the help page for it before use it! You can cause yourself alot of headaches with this... Like multiple fireing of events where data can be overwritten in a variable...

Cheers!®©
0
 

Author Comment

by:jscharpf
ID: 7117302
I had alot of do events in there and it didn't solve it but I found out my problem.
It had to do with the actual function so I think I got it fixed
 
THanks!

0
 
LVL 14

Expert Comment

by:mcrider
ID: 7117318
You're welcome!
0
 
LVL 22

Expert Comment

by:cookre
ID: 7117319
Your mention of 'timers, etc' set off a small alarm.

Recall that timer events take priority over many others.

One is tempted to suspect that your timer interval interval is too small or what you're doing on each hit is too much - so much so that all you end up doing is handling the never ending sequence of timer events that keep jumping in line ahead of other queued events.

If that's the case, one way to deal with it is to disable the timer while you're handling the event, then restart it just before exiting the event.
0
 

Author Comment

by:jscharpf
ID: 7117339
Great idea!!! I will try disabling the timers and see if that helps!

Thanks!
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

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…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

770 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