>I have created a COM object (called exporter) which includes an export method. This method can take several mins to run.
>
>Say a client program does this:
>ox = CREATEOBJECT("exporter")
>ox.Export()
>The client has to wait until the export method finishes.
>
>Instead I put a timer into my COM object (which is based on a Form class). The Export method just enables the timer and ends. When the timer fires it runs the 'real' method (now called do_export).
>This gives me asynchronous control and works really well. If the client wants to check progress in the COM object it has properties such as PercentDone and Busy etc.
>
>The bad news - the error handling fails if a timer is used. Instead of my Error method kicking in with my COMReturnError message I get:
>Fatal error: Exception code=C00000FD every time.
>
>If I call my method directly - error handling is as advertised - indirect it via a timer - Fatal Error.
>
>Any suggestions - or alternative approaches to the problem?
>Many thanks
>David
You might want to look at Codebook for Mere Mortals. Kevin's got a "trace aware" class for timers.
John Harvey
Shelbynet.com
"I'm addicted to placebos. I could quit, but it wouldn't matter." Stephen Wright