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

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

554tenteko:2020/04/17(金) 21:40:45 ID:4Hi1m3GA0
今回はそれほど試せなかったのですが、一通り試してみた結果を報告します。


●01_CreatePipe版_FlushFileBuffersなし

前回の報告にあった「連続で各zipのサムネイルを一つずつ作る」という場合は問題なかったのですが、
通常通り全解凍する場合、検索順序で言うところの最後の方が解凍されない、という症状は出ました。

●02_CreatePipe版_FlushFileBuffersあり
●03_FILE_FLAG_NO_BUFFERING版_FlushFileBuffersなし
●04_FILE_FLAG_NO_BUFFERING版_FlushFileBuffersあり

これらは全て問題がないように思えます。


というわけで、もしかしたら安定したかも! です!

まだ上記「連続で各zipのサムネイルを一つずつ作る」という機能を本格実装していないので、
なかなか物量的な実地調査はできていないのですが、引き続き調査してみたいと思います。


…ところで、画像ビューワーを現在作っているわけですが、悩んでいることがあります。
やりたいこととしては、次の2つを同時に行いたい、ということなのですが…

①アーカイブ内の画像(閲覧する対象)をオンメモリに解凍。

②別スレッドで並行して「連続で各アーカイブ(主に閲覧してないもの)のサムネイルを一つずつ作る」

…ここで問題となってくるのが
「①と②で実行した各SevenZipExtractMemEx()が、共通する1つのコールバック関数にメッセージを送る」
ということなんです。

そうなると、例えば「①は中断したいが②は中断したくない」という場合に
コールバック関数で return false してしまうと、両方ともが中断してしまう…という結果になってしまいます。

そこで、もしかしたらdllファイルをコピーしてリネームし、これをLoadLibrary()すればいけるかな?
と試してみたのですが、やはり1つのコールバック関数に双方のメッセージが送られてしまうように思います。

…なにか良い方法は有りませんでしょうか。
毎回お手数をおかけします…。


■追伸
4つのdllの調査の優先順位は、01が最優先で、順に04まで優先順位が下がっていく、
という感じに調査すればいいでしょうか。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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