ID: Q183248
The information in this article applies to:
Calling RawTable->Release() after Logging off the Collaboration Data Objects (CDO) session causes the application to hang.
There is an invalid assumption in the destructor process. Release() is called on the data member for the RawTable without verifying that it is not NULL.
Release RawTable before calling Logoff.
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
1. Logon using the IDispatch Session Object.
2. Access the AddressList object via Session for Personal AddressBook.
3. Access the AddressEntries Collection via the AddressList AddressEntries
property.
4. Access the RawTable of the AddressEntries object.
5. Logoff from the Session.
6. Call the following:
RawTable->Release();
CDO crashes at this point.
Similar behavior may also occur in Microsoft Visual Basic when using the
CDO Rendering Library (Cdohtml.dll) if the application logs off and then
attempts to release its rendering objects.
The resolution in Visual Basic is basically the same as above, release the objects that use the RawTable (Rendering), then Logoff.
For information about Collaboration Data Objects versus Active Messaging, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q176916
TITLE : INFO: Active Messaging and Collaboration Data Objects (CDO)
Additional query words: ActMsg
Keywords : kbCDO110bug kbCDO120bug kbVC
Version : WINDOWS:1.1,1.2
Platform : WINDOWS
Issue type : kbbug
Solution Type : kbnofix
Last Reviewed: April 8, 1999