Hi Al,
>
>I was also wondering how this callback technique would work for "asynchronous" processing. If I have this scenario:
>
>- a Main (client) program instantiates 2 COM servers. Server A does some scanning of files on local drive C:, Server B does some scanning of files on network drive F:. Each may take several minutes to process but are likely to cause low CPU utilization.
>
>- in the meantime, the main program may be doing some CPU-intensive activity.
>
>What happens when Servers A and B "call back" that they've finished their tasks, but the main program is running something else (worst-case scenario, say a large SELECT - SQL)? Do the callbacks fail? Does COM somehow queue the callbacks to be processed the next time the client is available to do so? TIA.
>
Are you saying that Server A and Server B are multi-threaded servers? If not, VFP will wait for ServerA.ScanFiles() to complete before moving on to the next instruction. Or do you mean do something like ServerA.StartScan(), then the server somehow returns control to the calling program while running the scan in the background? I don't know how to do that, but I would be interested in the answer to your question. COM+ Queued Components might be another option.