したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

ソフトウェアに関する不具合、要望、感想

542tenteko:2020/02/29(土) 21:54:49 ID:4Hi1m3GA0
毎回対応いただきまして、本当にありがとうございます。

今回も7-zip64.dll(7z.dll対応版ではない方)だけですが、報告させていただきます。


●SevenZipExtractMem()実行時、コールバック関数で受信した各メッセージに対し return false した場合、
件の4つのメッセージの何れのケースでも正しく終了し、戻り値としてエラー(0以外の数)を返す。

●書き出したデータも壊れることなく正常に書き出されている(ように思います)。

●前回報告した「特定のアーカイブを解凍すると、必ず落ちる」という現象については、
該当するアーカイブを削除してしまったので試せる状態ではないのですが、
色々と解凍を繰り返しても同様の現象には遭遇しないため、
恐らくデータの書き出しが修正された時点でこの問題も修正されたのかもしれません。
(もし同様の問題に遭遇したときには、また報告させていただきます)


というわけで、報告させて頂いておりました不具合は無くなったようです!

…ただ、2つほど、別の問題を見つけてしまいました。


1つ目は大した問題ではないのかもしれませんが、次の様な現象が発生します。

●フォルダを含むアーカイブをSevenZipExtractMem()で解凍した場合、
実行ファイルがある場所にそのフォルダ(空)が生成されてしまう。


2つ目は、これはこちらで聞くべきことなのかどうか分からないのですが、
もし宜しければご教示頂ければと思います。

現在、OpenSiv3DというC++フレームワーク?で 7-zip64.dll を利用しているのですが、
VS C++ 2019 にて、ウィンドウ上部の再生ボタン?(ローカルWindowsデバッガーと書いてあるところです)を押して、
ここからDebugビルドとReleaseビルドが実行されている分には、SevenZipExtractMem()は十分に機能してくれているのですが、
VSを通さず、直接実行ファイルを実行すると、SevenZipExtractMem()が実行された時点で
アプリケーションがフリーズ(というか、SevenZipExtractMem()を実行したメインスレッドだけが止まっているっぽい?)します。
(このとき、上述の空フォルダが作られる現象は発生します)
前に「SevenZipExtractMem()を実行後に戻り値が返ってこず、プロセスが止まる」というのが有りましたが、
それとよく似ている…のかもしれません。

以上のように、VSを通したときと通さないときとでプログラムの挙動が違うわけなのですが、
何か対処方法等、思い当たるものがあるようでしたら、ご教示願えませんでしょうか。

因みに、SevenZip()など、その他のDLLの関数ではフリーズしないようです。

何分、DLLを用いたプログラムは今回が初めてでありまして、
もしかしたら勝手がわからずに何か根本的な間違いを犯しているのかもしれません…。


■追伸
OpenSiv3Dを利用するのではなく、VSのコンソールアプリのテンプレートからSevenZipExtractMem()を実行すると、
フリーズは発生しませんでした(が、空フォルダが作られるのは同じです)。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板