PRB: Internet Explorer 4.0 Keeps Active Document Servers RunningID: Q177269
|
Active Document objects (also known as docobjs, .vbd files, and Active Documents) are not released upon navigating to a different URL using Internet Explorer. The server continues running even through several pages of navigation. This can cause problems for Active Document servers that expect the last reference to the Active Document object to be released upon navigating away from the URL that points to the structured storage file.
Internet Explorer 4.0 uses an unexpected way to keep Active Document servers in memory even after you have navigated away from the URL for the structured storage file (such as .vbd files). Immediately prior to releasing the reference to the displayed document, Internet Explorer will create another (hidden) instance of the Active Document object and hold the reference to that object for approximately 10 minutes, or when Internet Explorer exits, whichever comes first.
Here is some information for Visual Basic developers:
This behavior is by design.
NOTE: You should not make software design decisions that rely upon this
behavior. Microsoft reserves the right to change this behavior without
notice at any time.
There is no specification that requires an Active Document container, such
as Internet Explorer 4.0, to maintain one and only one reference to an
Active Document for each displayed instance. It can create as many
instances as it likes.
Internet Explorer 4.0 uses this additional reference to keep the Active
Document server running. Many Active Document servers, such as the
Microsoft Office suite of applications, take a significant amount of time
to get started. By using this additional reference to the Active Document
object, Internet Explorer 4.0 can keep the server running, thus reducing
the time it takes to display a page that has recently been viewed by the
user.
Internet Explorer 3.x had a four-page "cache," which would hold references
to the current page as well as the last three visited pages. Although
Internet Explorer 4.0 does not have this four-page cache, the latent
reference to the Active Document certainly acts like a cache.
(... the user navigates to the URL of the VBD file ...)
Sub Main executes (if applicable)
UserDocument1_Initialize event fires (Instance #1)
UserDocument1_InitProperties
-or-UserDocument1_ReadProperties event fires (Instance #1) UserDocument1_Show event fires (Instance #1) (... other events ...)
(... the user navigates to a different URL ...)
UserDocument1_Hide event fires (Instance #1)
UserDocument1_WriteProperties event fires (Instance #1; assumes the
UserDocument.PropertyChanged method is called first)
UserDocument1_Initialize event fires (Instance #2)
UserDocument1_Terminate event fires (Instance #1)
(... 10 minutes elapse, or the user exits Internet Explorer 4 ...)
UserDocument1_Terminate event fires (Instance #2)
(... the application terminates ...)
Microsoft Windows Platform SDK: COM and ActiveX Object Services; Component Development
Additional query words: DobObj
Keywords : kbIE400 kbIE401 AXSDKDocObjects AXSDKWebBrowser
Version : WINDOWS:4.0,4.01,5.0; WINNT:4.2,5.0
Platform : WINDOWS winnt
Issue type : kbprb
Last Reviewed: May 3, 1999