Hi all,

I use RAPI to communicate to PDA in my desktop application, and
CeRapiInvoke() in particular. The application installs some components
on PDA, and at some point, when the user press Cancel, I need to
terminate outstanding call to CeRapiInvoke().

I found out that until PDA's part completes, this call is hanging. Is
there any normal way to terminate it gracefully?

BR,
Alex

Re: How to terminate outstanding CeRapiInvoke() call by Michael

Michael
Mon Oct 08 06:35:56 PDT 2007

Have you tried stream mode? But even in stream mode, you might find a read
or write call blocks.

You should be able to call CeRapiUninit. Of course you'll have to call
CeRapiInit again if you're still planning on using RAPI. But the software
on the PDA may be out of sorts, too, if you find you have to cancel
something (or otherwise can't close down cleanly).

--
Michael Salamone, eMVP
Entrek Software, Inc.
www.entrek.com


<alexey.v.gusev@gmail.com> wrote in message
news:1191834699.816046.208560@y42g2000hsy.googlegroups.com...
> Hi all,
>
> I use RAPI to communicate to PDA in my desktop application, and
> CeRapiInvoke() in particular. The application installs some components
> on PDA, and at some point, when the user press Cancel, I need to
> terminate outstanding call to CeRapiInvoke().
>
> I found out that until PDA's part completes, this call is hanging. Is
> there any normal way to terminate it gracefully?
>
> BR,
> Alex
>


Re: How to terminate outstanding CeRapiInvoke() call by alexey

alexey
Mon Oct 08 08:12:24 PDT 2007

Hi Michael,

the sad fact is that CeRapiUninit() hangs too :)
I even tried to use separate Dll on PDA to terminate the process for
which the code waits in the first place, but it looks like RAPI calls
(or at least CeRapiInvoke() ones) are synchronous, so no matter what I
did, the second call was blocked. I will try stream mode though, maybe
it'll be better

BR,
Alex

On Oct 8, 2:35 pm, "Michael Salamone" <mikesa#at#entrek#dot#com>
wrote:
> Have you tried stream mode? But even in stream mode, you might find a read
> or write call blocks.
>
> You should be able to call CeRapiUninit. Of course you'll have to call
> CeRapiInit again if you're still planning on using RAPI. But the software
> on the PDA may be out of sorts, too, if you find you have to cancel
> something (or otherwise can't close down cleanly).
>
> --
> Michael Salamone, eMVP
> Entrek Software, Inc.www.entrek.com
>
> <alexey.v.gu...@gmail.com> wrote in message
>
> news:1191834699.816046.208560@y42g2000hsy.googlegroups.com...
>
> > Hi all,
>
> > I use RAPI to communicate to PDA in my desktop application, and
> > CeRapiInvoke() in particular. The application installs some components
> > on PDA, and at some point, when the user press Cancel, I need to
> > terminate outstanding call to CeRapiInvoke().
>
> > I found out that until PDA's part completes, this call is hanging. Is
> > there any normal way to terminate it gracefully?
>
> > BR,
> > Alex