本人最近刚刚接触COM编程,看了一些小例子,但是由于水平有限,对其中Release()函数不太懂,不明白其中的delete this语句,自己试着编写了一个小例子不能正常运行,在程序结束之前一共调用两次Release()函数,在最后一次调用时引用计数器的值为0时执行delete this语句,但出错,不知是何原因,请各位指教,谢谢。

解决方案 »

  1.   

    this为指向对象内存位置的指针,删除了对象后,再删除当然出错
      

  2.   

    Release()函数是当使用完COM的某接口时释放对接口的使用时来减少引用计数的,我写的程序中有两个引用指针,第一释放时因为引用计数变量并没有变为0所以也没有执行delete this语句呀,并且我将客户端的工程与COM端的DLL工程合并为一个工程时,只是将CreateInstance中的动态装载DLL文件的部分注掉了,而DLL工程部分并没有动,合并后的工程就可以正常的运行结束,楼上的朋友,不知你能不能将你的邮箱给我,我把程序发给你,帮我看看,这样说可能有点冒昧,但是兄弟确实是急着用,但是自己的水平又有限,这是
      

  3.   

    请教各位,不知能否讲解一下delete this的相关知识,对使用此有何要求或限制。