2010-11-20 86 views
1

我想從VB6中使用MapPoint的COM API,在應用程序模式下運行它,但是當我關閉它時,MapPoint仍然掛起!我如何讓它停止乾淨?是的,我試着調用Application對象的Quit方法。MapPoint沒有正確關閉?

回答

3

儘管VB6存在問題,但隨着大多數樣本都寫入VB6,您的生活實際上更容易使用VB6。還有一個垃圾收集器。

首先確保所有對MapPoint對象的引用都設置爲'nothing'(不包括Application對象)。這將讓垃圾收集器完成它的工作。除了良好的內存管理,當您關閉MapPoint時,垃圾收集器將知道所有這些其他對象都可以被釋放。在所有外部參考被清除之前,MapPoint不會關閉。 也是對話框詢問您是否要保存出現?這可以通過使用Map.Save()方法保存地圖或將地圖的Saved屬性設置爲true來刪除。該屬性實際上控制着對話框。你做了一些改變,它被重置;你保存地圖,它被設置。如果該對話框設置爲false,則會顯示該對話框。

然後,最後,調用應用程序的退出方法,然後進行測量,清除應用程序參考。

例如。

myMapPointApp.ActiveMap.Saved = true 
call myMapPointApp.Quit 
set myMapPointApp = Nothing 
+3

是的我錯過了一些沒有任何作業。關於Saved的提示也可能派上用場。 – winwaed 2010-11-20 15:20:14