Microsoft KB Archive/249169: Difference between revisions

From BetaArchive Wiki
(importing KB archive)
 
m (Text replacement - """ to """)
 
Line 52: Line 52:
<pre class="codesample">Sub TestPP()
<pre class="codesample">Sub TestPP()
     Dim oPres As PowerPoint.Presentation
     Dim oPres As PowerPoint.Presentation
     Set oPres = GetObject(&quot;c:\test.ppt&quot;)
     Set oPres = GetObject("c:\test.ppt")
     Set oPres = Nothing
     Set oPres = Nothing
End Sub
End Sub
Line 66: Line 66:
     Dim oApp As PowerPoint.Application
     Dim oApp As PowerPoint.Application
      
      
     Set oPres = GetObject(&quot;c:\test.ppt&quot;)
     Set oPres = GetObject("c:\test.ppt")
     Set oApp = oPres.Application
     Set oApp = oPres.Application
      
      
Line 84: Line 84:
<pre class="codesample">Sub TestPP()
<pre class="codesample">Sub TestPP()
     Dim oPPT As PowerPoint.Application
     Dim oPPT As PowerPoint.Application
     Set oPPT = CreateObject(&quot;PowerPoint.Application.8&quot;)
     Set oPPT = CreateObject("PowerPoint.Application.8")


     oPPT.Activate
     oPPT.Activate
     oPPT.Presentations.Open (&quot;c:\test.ppt&quot;)
     oPPT.Presentations.Open ("c:\test.ppt")
      
      
     oPPT.Presentations(1).Close
     oPPT.Presentations(1).Close
Line 100: Line 100:
== CAUSE ==
== CAUSE ==


When using the '''GetObject'''(&quot;<code>pathname</code>&quot;) method (where <code>pathname</code> is the path and name of the presentation you are trying to load programmatically), or the '''CreateObject'''(&quot;PowerPoint.Application.8&quot;) method, PowerPoint does not keep an accurate reference count of the number of calls made to it. Therefore it remains in memory, and you cannot access it programmatically to quit it.
When using the '''GetObject'''("<code>pathname</code>") method (where <code>pathname</code> is the path and name of the presentation you are trying to load programmatically), or the '''CreateObject'''("PowerPoint.Application.8") method, PowerPoint does not keep an accurate reference count of the number of calls made to it. Therefore it remains in memory, and you cannot access it programmatically to quit it.


</div>
</div>

Latest revision as of 13:52, 21 July 2020

Knowledge Base


PPT97: PowerPoint 97 Remains in Memory After Getting a Presentation and Being Closed

Article ID: 249169

Article Last Modified on 10/11/2006



APPLIES TO

  • Microsoft PowerPoint 97 Standard Edition



This article was previously published under Q249169


SYMPTOMS

If you use the GetObject or CreateObject method to open a presentation programmatically, Microsoft PowerPoint remains running in memory after you quit PowerPoint using any of the following methods:

Sub TestPP()
    Dim oPres As PowerPoint.Presentation
    Set oPres = GetObject("c:\test.ppt")
    Set oPres = Nothing
End Sub
                

-or-


Sub TestPP()
    Dim oPres As PowerPoint.Presentation
    Dim oApp As PowerPoint.Application
    
    Set oPres = GetObject("c:\test.ppt")
    Set oApp = oPres.Application
    
    oPres.Close
    Set oPres = Nothing
    
    oApp.Quit
    Set oApp = Nothing
End Sub
                

-or-


Sub TestPP()
    Dim oPPT As PowerPoint.Application
    Set oPPT = CreateObject("PowerPoint.Application.8")

    oPPT.Activate
    oPPT.Presentations.Open ("c:\test.ppt")
    
    oPPT.Presentations(1).Close
    Set oPPT = Nothing
End Sub
                

After any of the above code segments runs, if you check the Task Manager, it shows that PowerPoint is still loaded into memory.

CAUSE

When using the GetObject("pathname") method (where pathname is the path and name of the presentation you are trying to load programmatically), or the CreateObject("PowerPoint.Application.8") method, PowerPoint does not keep an accurate reference count of the number of calls made to it. Therefore it remains in memory, and you cannot access it programmatically to quit it.

STATUS

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

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.


Additional query words: PPT2K PPT2000 PPT POWERPNT 2000 PPT9 9.0 pra vba

Keywords: kbbug kbcode kbdtacode kbinfo kbpending KB249169