tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: PowerPointのオブジェクト開放ができません
投稿日: 2009/08/27(Thu) 14:28
投稿者camputer
 Hongliang様

 camputerです。アドバイスどうもありがとうございました!
(最初の投稿と今いる場所が違うのでアドレスが違うかもしれません。どうもすみません。)

 IEnumeratorが非COM オブジェクトかどうかということで
下のようにMsgBoxを入れてみましたところ
            Dim enumerator As IEnumerator = mySlides.GetEnumerator()
            MsgBox(Marshal.IsComObject(enumerator))
            While enumerator.MoveNext()
                MsgBox(Marshal.IsComObject(enumerator))
                Dim mySlide As Object = enumerator.Current
                MRComObject(mySlide)
            End While
すべてFalseが帰ってきたので、すべて「非COM オブジェクト」
ということだと思うのですが。。
そこでアドバイスいただいた通りに作ってみたいので、
            Dim enumerator As IEnumerator = mySlides.GetEnumerator()
            While enumerator.MoveNext()
                Dim mySlide As Object = enumerator.Current
                Dim obj As Object = TryCast(enumerator, ICustomAdapter)
                Dim obj2 As Object = obj.GetUnderlyingObject
                MRComObject(mySlide)
                MRComObject(obj)
                'MRComObject(obj2)
            End While

            MRComObject(enumerator) : enumerator = Nothing
            MRComObject(mySlides) : mySlides = Nothing
            MRComObject(mySlides) : mySlides = Nothing
としましたが、obj2のMRComObjectの仕方が分かりません。。
whileの外に出してしまうと、「宣言されていません」とエラーになり、
whileの中にあるとwhile2週目がループしなくなってしまいます。。
(Whileの行で「基になる RCW から分割された COM オブジェクトを使うことはできません。」となります。)

 お時間のあるときにアドバイスいただけないでしょうか。。。
お手数をおかけいたしますがどうぞよろしくお願いいたします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。