1

VB6からMapPointのCOMAPIを使用して、アプリケーションモードで実行しようとしていますが、閉じてもMapPointがハングします。どうすればきれいに停止できますか?はい、ApplicationオブジェクトのQuitメソッドを呼び出してみました。

4

1 に答える 1

3

VB6の欠点にもかかわらず、ほとんどのサンプルがVB6に書き込まれているため、VB6を使用すると実際に作業が楽になります。ガベージコレクターもあります。

まず、MapPointオブジェクトへのすべての参照が「nothing」に設定されていることを確認します(Applicationオブジェクトを除く)。これにより、ガベージコレクターがその役割を果たします。優れたメモリ管理だけでなく、MapPointを閉じると、ガベージコレクターはこれらの他のすべてのオブジェクトを解放できることを認識します。MapPointは、すべての外部参照がクリアされるまで閉じません。また、保存するかどうかを尋ねるダイアログボックスが表示されますか?これはMap.Save()、マップを保存するメソッドを使用するか、マップのSavedプロパティをtrueに設定することで削除できます。このプロパティは、実際にはダイアログボックスを制御します。いくつかの変更を加えると、リセットされます。マップを保存すると、設定されます。falseに設定されている場合、ダイアログボックスが表示されます。

次に、最後に、アプリケーションのQuitメソッドを呼び出してから、適切な方法でアプリケーション参照をクリアします。

例えば。

myMapPointApp.ActiveMap.Saved = true
call myMapPointApp.Quit
set myMapPointApp = Nothing
于 2010-11-20T15:05:08.350 に答える