COM question / D6 feature suggestion

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

COM question / D6 feature suggestion

Maxim Fridental
Hallo,

I'm calling a COM-object method, that can last for minutes (in the
worst case). My user want a possibility to break the operation. It is
unfortunately not recommended to make a COM-call as an overlapped call
because of the COM thread affinity. Is there nevertheless a solution
to this problem in D5? If no, can this problem be solved in D6?
Thanks.

Best Regards,
Maxim Fridental, straightec GmbH


Reply | Threaded
Open this post in threaded view
|

Re: COM question / D6 feature suggestion

Blair McGlashan
"Maxim Fridental" <[hidden email]> wrote in message
news:[hidden email]...
> Hallo,
>
> I'm calling a COM-object method, that can last for minutes (in the
> worst case). My user want a possibility to break the operation. It is
> unfortunately not recommended to make a COM-call as an overlapped call
> because of the COM thread affinity. Is there nevertheless a solution
> to this problem in D5?

It is worth checking the threading model of the component. If free threaded
then it is probably safe use overlapped calls to call it methods. If it
isn't free threaded, then it might provide some kind of busy event
interface. Failing that you will probably have to wrap it into another
component that creates a worker thread to run the component on, and put in
place some kind of asynchronous mechanism for calling that component and
getting results back when it has finished.

>...If no, can this problem be solved in D6?

Yes, that is the plan, but D6 will be under development for several months
more.

Regards

Blair