If you want this kind of functionality on the client side, check out this articles:
http://www.geocities.com/SiliconValley/Hills/9119/multithreaded_vfp.htmMtdlls are primarily for Server apps, though. Another way to do it is with the API and background processing as described by Microsoft here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;153904>I disappointed. I'll try do something with timer. Do you know will VFP9 support real multithreading.
>
>I try this sample which you did. I understand mean that do what I needed (Client application don't wait for process). But that give an error at
>"loContext.SetComplete()" line. about that not an object.
>
>
>rr=CREATEOBJECT("math")
>rr.multiple(2,4)
>
>DEFINE CLASS Math AS SESSION OLEPUBLIC
> FUNCTION Multiple(tnNum1, tnNum2)
> LOCAL lnResult, loMtx, loContext
>
> * Create a reference to the MTS object
> loMtx = CREATEOBJECT("MTXAS.APPSERVER.1")
>
> * Create a reference to the Context object
> loContext = loMtx.GetObjectContext()
>
> lnResult = tnNum1 * tnNum2
>
> * Commit the transaction if there is one and
> * tell MTS that we're done using the component
> loContext.SetComplete()
>
> RETURN lnResult
> ENDFUNC
>ENDDEFINE