Q140032: BUG: After Switching OLE Client Hangs in Visual Basic 16-Bit
Article: Q140032
Product(s): Microsoft Visual Basic for Windows
Version(s): 4.0
Operating System(s):
Keyword(s): kbbuglist
Last Modified: 11-JAN-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual Basic Professional Edition, 16-bit, for Windows, version 4.0
- Microsoft Visual Basic Professional Edition, 32-bit, for Windows, version 4.0
- Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows, version 4.0
- Microsoft Visual Basic Enterprise Edition, 32-bit, for Windows, version 4.0
-------------------------------------------------------------------------------
SYMPTOMS
========
When you create an OLE server program and an OLE client program in the 16-bit
edition of Visual Basic for Windows, version 4.0 and run both programs, the
client program stops responding after switching from the OLE server program back
to the OLE client program.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. Microsoft is researching this problem and will post
new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
================
Steps to Reproduce Problem
--------------------------
1. Start the 16-bit version of Visual Basic 4.0, or if it is already running,
click New Project on the File menu.
2. Use the following steps to create an OLE server called MyPop:
a. On the menu, click Tools.
b. On the Tools menu, click Options, and then click the Project tab.
c. In the Project Name text box, type "MyPop." In the StartMode group, click
OLE server. In the Application Description text box, enter Pop OLE server.
d. Click OK to close the Options dialog box.
3. Use the following steps to create a class module:
a. On the menu, click Insert. On the Insert submenu, click Class Module. The
code window for the Class1 class module appears.
b. In the Properties window of the Class1 class module, set the Instancing
Property to 2-Creatable MultiUse, and set the Public property to True.
4. Add the following code to the Class1 code window:
Private Sub Class_Initialize()
Beep
End Sub
Private Sub Class_Terminate()
Stop
End Sub
5. Add a label to Form1. Set the Caption of this label to "My OLE Server."
6. Press the F5 key to start the program. Minimize this instance of Visual
Basic.
7. Start a second instance of Visual Basic 16-bit. In the Project window, Form1
is highlighted.
8. On the File menu, click Remove File to remove Form1.
9. On the Insert menu, click Module to create a module. The code window for
Module1 is displayed. Add the following code to the Module1 code window:
Sub Main()
goo
End Sub
10. Create another module and add the following code into the Module2 code
window:
Sub goo()
Set r = New Class1
Set r = Nothing
End Sub
11. On the Tools menu, click References. The References dialog box is displayed
with a list of all the objects that are available from other applications.
In the Available References list box, scroll down the list until the Pop OLE
Server check box is displayed. Click this check box. Click OK to close the
References dialog box.
12. Press the F8 key to single step through the program until you get to the
Stop statement.
13. Press ALT+TAB to return to the client. The client program stops responding.
Additional query words: vb4win vb416 buglist4.00 hung hang
======================================================================
Keywords : kbbuglist
Technology : kbVBSearch kbAudDeveloper kbVB400Search kbVB400 kbVB16bitSearch
Version : :4.0
Issue type : kbbug
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.