|
秀丸担当さん今日は、Iranoan です。
loaddll が失敗したとき、freedll をしても、呼び出し先の DllMain() 関
数内の DLL_PROCESS_DETACH が呼び出されません。DllMain() のヘルプを見る
と、DLL_PROCESS_DETACH は、
> DLL のロードに失敗したこと、プロセスが終了すること、FreeLibrary を呼び
> 出したことのいずれかの理由で、呼び出し側プロセスの仮想アドレス空間から
> DLL をアンロードしようとしていることを示します。
とあります。そこで
(1) loaddll の結果にかかわらず、freedll を実行した時点
(2) loaddll が失敗した時点
のどちらかで、DLL_PROCESS_DETACH の処理をするようにして頂けないでしょ
うか?
##それとも私が使用している環境
> GCC.EXE (GCC) 3.3.1 (mingw special 20030804-1)
が悪いのかな?
loaddll が失敗した時は、プロセス終了時点に DLL_PROCESS_DETACH の処理
がされるようですが、鶴亀はシングル・プロセスマルチ・スレッドなので、常
駐を含め全ての鶴亀を終了させる必要があって、DLL の一般公開を考えると、
注意事項としても説明が非常にしにくいです。
こちらの環境は、Windows98+IE6.0+秀丸 Ver.4.10β4 です。
|
|