Yes, there is still an active thread that was passed to the event, and
therefore the TCP communication is still active. The Indy documentation
talks a little about the blocking/asynchronous models - it makes some
interesting comments. I don't really care that much as long as I can get the
thing working :)

Phil.
----- Original Message -----
From: "Myles Penlington" <[EMAIL PROTECTED]>
To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
Sent: Wednesday, October 23, 2002 9:16 AM
Subject: RE: [DUG]: COM Object error


> You are probably correct with the blocking (synchronous) model (but not
100%
> sure how Indy does it blocking). COM does requires a active message loop.
>
> Never do like blocking models with TCP/IP - don't get very good error
> handling, hence I prefer the asycnhronous model of the ICS components.
>
> But thinking more about it, when you do the call to the COM object, you
will
> not be blocked as you have finished dealing the Indy/TCP communication.
But
> do you have a active message loop for the thread you are doing the call
on?
>
> Myles.
>
> -----Original Message-----
> From: Phil Middlemiss [mailto:phil@;mtsl.co.nz]
> Sent: Wednesday, 23 October 2002 7:52 a.m.
> To: Multiple recipients of list delphi
> Subject: Re: [DUG]: COM Object error
>
>
> Thanks for the reply Brian,
>
> The place where the the code gets called is actually an event handler of
the
> TIdTCPServer component. The methods used in the TCPServer's Execute event
do
> not belong to the TIdPeerThread that is passed into the event handler so I
> can't call them using Synchonize.
> I don't think uninitialisation is the problem, since it is a component
that
> is created with the form, and the code executes correctly when it is not
> being called in the event handler.
>
> Perhaps I should clarify. The thread comes from the TCPServer, it is for a
> connection from outside. The COM object is completely unrelated to the TCP
> server, but it does use sockets to connect to another server. I wonder if
> the blocking model of the Indy components is causing problems for the COM
> object?
>
> Phil.
> ----- Original Message -----
> From: "Brian Wrigley" <[EMAIL PROTECTED]>
> To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
> Sent: Tuesday, October 22, 2002 7:13 PM
> Subject: Re: [DUG]: COM Object error
>
>
> > You may need to initialise COM in the thread, i.e. by calling
> OleInitialize
> > (and OleUninitialize afterwards).
> > The other thing that comes to mind is that the mechanism of invoking and
> > passing parameters to the COM object may not be thread-safe. Have you
> tried
> > using Synchronize to call it?
> >
> > ----- Original Message -----
> > From: "Phil Middlemiss" <[EMAIL PROTECTED]>
> > Sent: Tuesday, October 22, 2002 5:00 PM
> > Subject: [DUG]: COM Object error
> >
> >
> > > I have an app that uses the Indy components to act as a TCP server.
When
> > it
> > > get's a connection and receives the required data, the application
uses
> a
> > > third party COM object to communicate the data to second server
running
> on
> > a
> > > remote location.
> > >
> > > If I run a test routine and just send some dummy data to the second
> server
> > > then everything is fine. If I try exactly the same test code but this
> time
> > > call it when I have received some data from a connection to my TCP
> server,
> > > then I get an access violation from 'MSVBVM60.DLL' (the COM object was
> > > written in VB).
> > >
> > > I'm guessing its a threading issue since the TCP server is hanging on
to
> a
> > > TIDPeerThread from it's Execute event. I've tried placing
> > > EnterCriticalSection etc around the code but it makes no difference.
> > >
> > > Does anyone have any ideas?
> > >
> > > Regards,
> > > Phil.
> >
>
> --------------------------------------------------------------------------
> -
> >     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> >                   Website: http://www.delphi.org.nz
> > To UnSub, send email to: [EMAIL PROTECTED]
> > with body of "unsubscribe delphi"
> > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> >
>
>
> --------------------------------------------------------------------------
-
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> --------------------------------------------------------------------------
-
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
>


---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED] 
with body of "unsubscribe delphi"
Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/

Reply via email to