PRB: Reference to ActiveX EXE is not released when calling a function inside the GlobalMultiUse class in Visual Basic 6.0 (277765)
The information in this article applies to:
- Microsoft Visual Basic Enterprise Edition for Windows 6.0
- Microsoft Visual Basic Enterprise Edition for Windows 6.0 SP3
- Microsoft Visual Basic Enterprise Edition for Windows 6.0 SP4
This article was previously published under Q277765 SYMPTOMSThe ActiveX EXE process in Microsoft Visual Basic does not quit when the calling client releases the reference to it.CAUSEThis problem occurs because the Visual Basic ActiveX DLL that references the GlobalMultiUse class is complied when the Retained in Memory option is enabled.
A client program starts a Visual Basic ActiveX EXE process by instantiating a MultiUse class inside the ActiveX EXE. The ActiveX EXE process then makes a call to a Visual Basic ActiveX DLL that was compiled when the Retained in Memory option was enabled. If this ActiveX DLL then uses a GlobalMultiuse class from a separate Visual Basic ActiveX DLL, the ActiveX EXE process does not unload from memory when the original calling client releases the reference to the ActiveX EXE.WORKAROUNDTo work around this problem, use one of the following methods: - Move the functions that are used in the GlobalMultiUse class to a standard Visual Basic module instead.
- Do not compile the Visual Basic ActiveX DLL that references the GlobalMultiUse class when the Retained in Memory option is enabled.
STATUSMicrosoft is researching this problem and will post more information in this article when the information becomes available.
Modification Type: | Major | Last Reviewed: | 8/24/2004 |
---|
Keywords: | kbprb KB277765 kbAudDeveloper |
---|
|