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.