> ところで,OptimFROG.dll や tak_deco_lib.dll の位置が,配布版のままでも正常に動作する人と,私のように,SuperTagEditor.exe と同じフォルダに置かないとエラーが出る人との違いは何なのでしょうね?単に OS の違いですか?
一般ユーザーの方はあまり気にしなくても良いと思います。
STEP_ape.ste は OptimFROG.dll と tak_deco_lib.dll に依存していて、これらの DLL のロードに失敗するとプラグインのロードにも失敗してしまいます。
何も考えずに STEP_ape.ste をロードすると、通常はロードした本体(SuperTagEditor.exe) と同じフォルダにある OptimFROG.dll/tak_deco_lib.dll を探してロードするのですが、 STEP_ape.ste と同じフォルダにある dll をロードするように本体側で指定していたつもり でした。これが環境により機能してなかったということでしょう。
STEP_ape.ste をロードする直前にカレントディレクトリを STEP_ape.ste のフォルダに 設定していたのですが、それではうまく行かない環境があるみたいですね。
STEP_M は確かカレントディレクトリの設定ではなくて環境変数の書き換えで やってた気がするのですが、Unicode 化のときにカレントの設定に変えてし まってたようです。
カレントディレクトリからロードされることを利用したセキュリティ上の脆弱性もある ので、対策された環境があるのでしょうかね。ウイルス対策ソフトがやってるのかも しれません。
参考までにお使いのウイルス対策ソフトを教えてもらえますか。
> また,32bit版と64bit版とでも tak_deco_lib.dll を置くフォルダを変えると解決したり,変えてはいけなかったり。
tak_deco_lib.dll の 64bit 版は存在しないので、64bit 版の STEP_ape.ste は直接的には tak_deco_lib.dll に依存していないためです。runtak.exe が tak_deco_lib.dll をロード します。runtak.exe は 32bit です。
64bit 版でも 32bit 版のランタイムが必要になるのは、runtak.exe を起動するためです。 TAK のフォーマット情報を取得出来なくなるだけですけどね。 タグの取得・書き換えには影響しません。
> プログラミングができない私には全くわからないことばかりですが,また何かありましたら情報提供いたします。
問題の箇所は分かりました。ここが原因で間違いないと思ってますが、今の方法が問題なら KbMedia Player でも kbofr.kpi のロードに失敗する筈です。
お手数ですが試して頂けるとありがたいです。
バージョンは v3.06a(正式版) と v3.07beta のどちらでも構いません。
・Kbmplay.exe を起動する ・「ツール」->「プラグイン設定」をクリック ・「最新の情報に更新」をクリック(念の為) ・「検索」に「kbofr」と入力して「Enter」 ・kbofr.kpi がロードされているか確認 (失敗してれば Failed to load Plug-in と表示されます)
32bit版と 64bit版どちらも同じ結果になると思いますがどうでしょうか。
対処の方法は難しくないので、次のバージョンで修正しておきます。 v3.07beta でも対策しておけば良かったですね。
|