In article <6qthds$66...@forums.borland.com>,
"bly" <b...@castle.net> wrote:
Binh,
Thanking you greatly for your response particurlarly for the one on
marshalling in threads.
Quote
> You can have your install program merge a registry file (REG) into the
> client registry and at the same time just deploy and register just the TLB
> file.
I'm not sure how one JUST registers a TLB file on the client. I know only of
the regsvr32 tool but that only operates on OCX/DLL's. What Win32 utility
are you refering to?
Quote
> marshaling it, then that's when you get the error. To properly do
> marshaling, use the CoMarshalInterThreadInterfaceInStream and the
> CoGetInterfaceAndReleaseStream APIs.
I looked at the API and got a little bit confused and wanted to confirm
whether this is the right sort of implementation:
Note, prior to the constructor below being called subsToMarsh was already
marshelled to the primary thread of the server.
constructor TNotifyThread.create( subsToMarsh: ISubscriber ) {
__Storage := TStreamAdapter.create(TmemoryStream.create) as IStream;
CoMarshalInterThreadInterfaceInStream( GUID_SUBS, comToMarsh,
__Storage )
...
inherited create( true );
destructor TNotifyThread.destroy {
CoGetInterfaceAndReleaseStream( __Storage, GUID_SUBS, comToMarsh );
__Storage := nil;
inherited destroy;
procedure TNotifyThread execute {
comToMarsh.notification( 'hello world' );
What are the implications of this on my primary threads reference to the
ISubscriber object while the child thread is still executing. That is is it
still marshelled in the primary thread and hence capable invoking messages
within the primary while simultaneously processing the child thread?
Once again many thanks for your suggestions on a better approach to solving
these problems.
rgds ash
Quote
> --
> Binh Ly
> Brickhouse Data Systems, Inc.
> http://www.brickhouse.com
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum