Microsoft KB Archive/186273

= BUG: AV Running VB-Built Component in Multi-Threaded Environment =

Article ID: 186273

Article Last Modified on 3/3/2005

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Studio 97 Service Pack 3
 * Microsoft Visual Studio 97 Service Pack 1
 * Microsoft Visual Studio 97 Service Pack 2
 * Microsoft Visual Studio 97 Service Pack 3

-



This article was previously published under Q186273



SYMPTOMS
When running an apartment model ActiveX DLL that is created in Visual Basic in a multithreaded environment such as Microsoft Internet Information Server (IIS) or Microsoft Transaction Server (MTS), COM+, Internet Explorer, ActiveX EXEs, and so on, the DLL fails periodically with an access violation (AV).



RESOLUTION
The following steps may be used to change the DLL to avoid the problem. This may not resolve the issue in all cases.

Step-by-Step Example
 Add a class module to the project. Set the name of the class to clsEmpty. Set the Instancing property of the class to 2-PublicNotCreatable. In Project Properties, set the Start Up Object to Sub Main.  Add a BAS module, or put the following in an existing BAS module in the project: Public gEmpty As clsEmpty Public Sub main Set gEmpty = New clsEmpty End Sub

 Save the project and recompile.</ol>

<div class="status_section">

STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

<div class="references_section">