Consultor Eletrônico



Kbase P20392: Multi-threaded COM object can't be used with Progress 4GL.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/5/2009
Status: Verified

SYMPTOM(s):

Multi-threaded COM object can't be used with Progress 4GL.

This is an ill-behaved multi-threaded control. It cannot be used with the Progress 4GL. (9179)

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x
Windows

CAUSE:

This message was introduced to warn the user that Progress does not support multi-threaded COM objects that send events over multiple threads. When an event is raised on a thread other than the main thread of the COM object the error 9179 occurs, and the COM event that triggers it is ignored.

Before this message was introduced, such multi-threaded COM objects could cause Progress to GPF when events were sent over multiple threads.

FIX:

The COM object should be modified to use the Single-Threaded Apartment (STA) model, or should be modified to marshal all events raised on the main thread (the thread the object was created on).

Note that a COM object can support both the Multi-threaded Apartment (MTA) and STA models - this is known as "mixed mode". The COM interface should be able to determine the correct model to use when a process connects.