Windows APIの解放 | |
Windows APIの後処理 |
☆Visual Basicの限界とWindows API Windows APIの中には使ったら使いっぱなしでいいものと、 使ったら片付けをしなければならないものがあります。 片づけをする必要があるものを片付けないと... ・Visual Basicの一般保護エラー ・プログラムが終わってもメモリーが解放されない ・最悪の場合、Windowsがハングアップ などになることがあります。 ですから、プログラムを終わらせる時に片付けすれば 通常問題ありませんが、問題はVisual Basicの終了ボタンです。 Visual Basicの終了ボタン→ この終了ボタンはかなり便利なので、すでに使い慣れている方も いらっしゃると思いますが、Windows APIを使ったプログラムを これで終わらせると、実行しているプログラムはその時点で 即座に停止して、せっかくプログラムを終了するときに Windows APIの片づけをするように書いても、そこが実行されずに いきなり終了してしまうのです。 かといって、Visual Basicがその片づけをしてくれるわけでも ないので、上に書いたようなエラーが起こることに なります。しかし、これはWinodws標準のAPIを呼び出す だけでなく、他のDLLを使うときにも言えることです。 簡単に言うと次のとおりになります。 ・Windows APIを使うという宣言をする。 ・片づけをしなければならないWindows APIは プログラムを終了するところで片付けをするように書く。 ・実行する前に保存をする(ハングアップしてもいいように) ・Visual Basicの終了ボタンで終了せずに 実行しているプログラムを普通に終了する。 ―以上を気をつけてください。 しかし、片付けをしなければいけないWindows APIは少ない ので、そんなに心配することはありません。片付けを しなければならないものは注意書きとして各解説に 書き加えておきます。 |
Directory Reference | ||||
---|---|---|---|---|
|