Home All Groups Group Topic Archive Search About

An outgoing call cannot be executed...

Author
29 Aug 2010 8:40 AM
Alexandros Peropulous
Hello!

I am dealing with an ActiveX-Exe.
I have put an MSCOMM control into it, because I needed it be out-of-proc.

Automation error (-2147417843)
An outgoing call cannot be executed because the application is
forwarding an input-synchronized call.

I simply don't understand the meaning of it :-)

Thanks!
Alex

Author
29 Aug 2010 9:24 AM
Nobody
"Alexandros Peropulous" <perop***@gmail.com> wrote in message
news:O9zIMY1RLHA.6032@TK2MSFTNGP05.phx.gbl...
> Hello!
>
> I am dealing with an ActiveX-Exe.
> I have put an MSCOMM control into it, because I needed it be out-of-proc.
>
> Automation error (-2147417843)
> An outgoing call cannot be executed because the application is forwarding
> an input-synchronized call.
>
> I simply don't understand the meaning of it :-)

See this article:

PRB: Synch OLE Call Fails in Inter-Process/Thread SendMessage
http://support.microsoft.com/kb/131056

What's the line that is causing the error?
Author
29 Aug 2010 10:49 AM
Alexandros Peropulous
The line is
Dim lPort&
lPort = Me.MSCOMM1.CommPort

I have never had any problems like this before in other ActiveX-Exes.

To work around the problem I am using Api calls instead now.

A stupid question:

I am installing mscomm32.ocx with my app.
But this file is only a wrapper around a system dll, right?
When I am using api calls, I don't have to distribute it, is that correct?
Author
29 Aug 2010 3:37 PM
Nobody
"Alexandros Peropulous" <perop***@gmail.com> wrote in message
news:%23Vm5Xg2RLHA.2104@TK2MSFTNGP04.phx.gbl...
> I am installing mscomm32.ocx with my app.
> But this file is only a wrapper around a system dll, right?

Yes.

> When I am using api calls, I don't have to distribute it, is that correct?

Yes.  However, make sure that you remove the control from the form,
otherwise VB would attempt to load it, and the user would get an error
message bout the missing OCX. It may also interest you to know that this
only happens when that particular form is loaded, so one could use "Sub
Main", and check if the DLL or OCX is installed(Perhaps by using
CreateObject, or LoadLibrary, and trap the error), then load alternative
forms if needed.
Author
30 Aug 2010 3:34 AM
Alexandros Peropulous
Yep, I know, thank you!
Author
29 Aug 2010 2:23 PM
BeeJ
Alexandros Peropulous formulated on Sunday :
> Hello!
>
> I am dealing with an ActiveX-Exe.
> I have put an MSCOMM control into it, because I needed it be out-of-proc.
>
> Automation error (-2147417843)
> An outgoing call cannot be executed because the application is forwarding an
> input-synchronized call.
>
> I simply don't understand the meaning of it :-)
>
> Thanks!
> Alex

Are you using a timer in the ActiveX EXE to disconnect from the main
app so the ActiveX EXE can run async?  I think ya gotta.
The ActiveX EXE can raise events back to the main app with results.
Author
1 Sep 2010 12:08 PM
Dee Earley
On 29/08/2010 09:40, Alexandros Peropulous wrote:
> Hello!
>
> I am dealing with an ActiveX-Exe.
> I have put an MSCOMM control into it, because I needed it be out-of-proc.
>
> Automation error (-2147417843)
> An outgoing call cannot be executed because the application is
> forwarding an input-synchronized call.
>
> I simply don't understand the meaning of it :-)

On which side?
I do exactly the same (OOP Comm control) on one of my projects and don't
have this problem, BUT...

I do get the same error when I try and make any OOP COM call from inside
my subclass handler.

The solution was to use a timer in the main app which is enabled in the
subclass handler that then does the OOP call.

--
Dee Earley (dee.ear***@icode.co.uk)
i-Catcher Development Team

iCode Systems

(Replies direct to my email address will be ignored.
Please reply to the group.)