Top / TIPS / 安全、安心の ActiveX.DLL

たとえば、フックや、Winsock の通信処理などを APIを使ってゴリゴリコーディングしている場合、フックをアンインストールしたり、非同期処理を行うためのウインドウを破棄するなど、終了処理を正しく行う必要があります。

ですが、それらを使ってIDEでデバッグを行っていると、エラーが発生したり、IDE のメニューやボタンから実行を終了したりすると、終了処理が行われず、IDEが異常終了したり、ハングアップしたりします。

このような処理は、ActiveX.DLL にすると、中断したときも、終了処理を正しく行うことができます。

手順は以下のとおり

(1) ActiveX.DLL を新規作成します。

(2) 「プロジェクト」→「全般」→「スタートアップの設定」で、Sub Main を選択します。

(3) Instancing プロパティを 「1-Private」にしたクラス(CMain.cls) を作成します。

(4) モジュールファイルを追加し、次のようにコーディングします。

   
   Option Explicit
   
   Private mobjMain As CMain
   
   Sub Main()
   
       Set mobjMain = New CMain
       
   End Sub
   

このように作成した ActiveX.DLL を参照設定した VB のプロジェクトを IDE から実行し、終了ボタンで終了させた場合、CMain の Class_Terminate が走ります。

あとは、Class_Terminate の中に終了処理を置けばよいです。

サンプルプログラム fileKMLock.zip




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2011-02-05 (土) 03:06:34 (2385d)