Make sure the client threads are STA style threads. Otherwise you'll get all sorts of problems, although blocking should not be one of them.
Are you createing new instances of your object on each thread? That would be the other requirement for this to work - the object must be called from the same thread that created it.
+++ Rick ---
>Hi Christof,
>I am trying to use a Multi-Threaded VFP object from a Delphi app.
>
>It is blocking - anytime the Delphi app uses the VFP object, one thread at a time succeeds.
>
>I cannot seem to get it to run multi-threaded at all.
>It does not make any difference if I run it in VFP 8, VFP 9, or if I set the project options to Single Instance or Multi Instance.
>
>In my debugging, I used the win api GetCurrentThreadID.
>The Delphi Threads do indeed have different IDs.
>The VFP object always has the same ID (not the same as the Delphi ThreadID)
>
>So, it seems like there is some kind of proxy thread running my VFP object.
>
>Is it possible to make the VFP object non-blocking so I can get real MultiThreading?
>If so, any ideas of how to proceed would be greatly appreciated!
>
>Many Thanks,
>Michael Cummings