> void main(void)
> {
[quoted text clipped - 16 lines]
> Delay() call, all of a sudden things work right on OS9, and I get the
> three beeps indicating that LaunchServices isn't available.
The problem is that SysBeep is asynchronous -- the call returns immediately, and
the beep continues in the background. Imagine, if you will, a beep sound that
lasts 10 seconds. If you call SysBeep, it does not take 10 seconds to return. It
returns immediately, and your program keep executing while the computer beeps.
Now, if you call SysBeep again while it's already beeping, it queues the new
beep, and returns right away. So, if you call SysBeep twice in rapid succession,
and the beep is 10 seconds long, the first beep will start right away and last
10 seconds, and the second will start ~10 seconds _after SysBeep returns_ and
last for 10 seconds.
However, if your app exists, all the pending and current beeps are flushed, and
this is what you are seeing.
hth
meeroh

Signature
If this message helped you, consider buying an item
from my wish list: <http://web.meeroh.org/wishlist>
David Oberst - 31 Jan 2004 22:47 GMT
> > if ( (UInt32)LSGetApplicationForInfo !=
> > (UInt32)kUnresolvedCFragSymbolAddress )
[quoted text clipped - 7 lines]
> However, if your app exists, all the pending and current beeps are flushed, and
> this is what you are seeing.
Yup, when put an empty statement in the OSX branch, I still get the
one beep on the OS9 path, and the other two are flushed on exit. I
could have sworn that in a larger code fragment I was working on the
LSGetGapplicatioForInfo vector-check was erroneously succeeding on
OS9, which was why I created this little test. But now when I go
back, I can't get it to do that anymore. Perhaps just midnight
gremlins. Thanks...