2010-11-20 195 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