PRB: Shell Statement May Not Return Task Handle Immediately
Article ID: 147671
Article Last Modified on 1/9/2003
APPLIES TO
- Microsoft Visual Basic 4.0 Professional Edition
- Microsoft Visual Basic 4.0 16-bit Enterprise Edition
This article was previously published under Q147671
SYMPTOMS
The Shell function returns a task handle to the application it starts. On
slow machines, it has been reported that the task handle may not be
returned immediately. This can cause problems if the code immediately after
the call to the Shell function assumes that the variable used to hold the
return value will be valid. The code will work fine when it is stepped
through in the design environment if the pause between steps is of
sufficient length to allow the handle to be returned and the value of the
variable to be valid.
WORKAROUND
To work around this problem, simply wait until the task handle is returned
to the variable used to hold the Shell function's return value. This can be
accomplished with a few lines of code, like this:
x = 0
x = Shell("MY.exe")
Do While x = 0
DoEvents
Loop
Additional query words: 4.00 vb4win vb416
Keywords: kbprb KB147671