为什么我的FinalRelease函数在com对象还没有销毁的时候就自动调用了呢?

解决方案 »

  1.   

    FinalRelease 是在销毁的时候才调用.
      

  2.   

    假如你对com对象的生命周期不熟悉 容易出这种问题.
      

  3.   

    我是用atl做了com 然后在C#环境下调用的// 申明和初始化
    private MultiSpectralSegment multiSpectralSegment;
    multiSpectralSegment = new MultiSpectralSegmentClass();[align=left]            // 释放COM对象内存
                if (multiSpectralSegment != null)
                {
                    Marshal.ReleaseComObject(multiSpectralSegment);
                    multiSpectralSegment = null;
                }[/align]大家帮我看看有啥问题吗?我想着是调用Marshal.ReleaseComObject(multiSpectralSegment)了这个方法后,才调用com里面的FinalRelease()函数