我正在尝试使用来自VB6的MapPoint的COM API,在应用程序模式下运行它,但是当我关闭时,MapPoint仍然悬而未决!如何让它干净利落?是的我已经尝试调用Application对象的Quit方法。
答案 0 :(得分:3)
尽管VB6存在缺陷,但VB6的生命实际上更容易,因为大多数样本都写在其中。还有一个垃圾收集器。
首先确保对MapPoint对象的所有引用都设置为“nothing”(不包括Application对象)。这将让垃圾收集器完成它的工作。除了良好的内存管理,当你关闭MapPoint时,垃圾收集器将知道所有这些其他对象都可以被释放。在清除所有外部引用之前,MapPoint不会关闭。
也是对话框询问您是否要保存显示?可以使用Map.Save()
方法保存地图,或将Map的Saved
属性设置为true,从而删除此功能。此属性实际上控制对话框。你做了一些改变,它被重置;你保存地图,它被设置。如果将对话框设置为false,则会出现该对话框。
然后,最后,调用Application的Quit方法,然后好好清除应用程序引用。
例如
myMapPointApp.ActiveMap.Saved = true
call myMapPointApp.Quit
set myMapPointApp = Nothing