[リストへもどる]
一括表示
タイトル【要望】相対パスについて
記事No262
投稿日: 2012/03/19(Mon) 00:30:31
投稿者甘栗
現在、DLL更新プログラム(LFCaldix.exe)に相対パスを設定して
LhaForge を利用させて頂いております。

相対パスを利用した場合、LhaForge本体側ではDLLを認識してくれるのですが、
B2E32.DLL側がそれを認識してくれず、B2Eを利用した圧縮及び解凍ができません。
そのため、B2Eを利用する場合でも相対パスが認識されるように修正して頂けないでしょうか?
よろしくお願いします。

タイトル修正) 【要望】相対パスについて
記事No264
投稿日: 2012/03/19(Mon) 10:19:08
投稿者甘栗
削除キーを設定し忘れたため、申し訳ないのですが
この投稿にて修正させて下さい。

---------------------------------------------------------------
タイトル:【要望】LhaForgeの設定について


いくつか要望と質問をお願いしたく投稿させて頂きます。

要望は以下の通りです。
・DLL更新プログラム(LFCaldix.exe)に相対パスを設定した場合について
上記プログラムに相対パスを設定した場合、LhaForge本体側ではDLLを認識してくれるのですが、
B2E32.DLL側がそれを認識してくれず、b2eを利用した圧縮及び解凍ができません。
そのため、b2eを利用する場合でも相対パスが認識されるように修正して頂けないでしょうか。
また、b2eで使用する外部プログラムに、パスが通っているかを簡易的に確認するために、
"LhaForge設定 > DLLの情報と更新" にb2eの情報も追加して頂ければと思います。

・"LhaForge設定 > 一般設定 > 圧縮/解凍のログ" の設定を
 "表示しない" 以外に設定した場合について
上記設定によって表示されるダイアログについてですが、
よく他のウィンドウの下に隠れたままになっているので(b2e使用時)、
ダイアログが表示される時は一度前面に表示されるようなオプションを用意して頂けないでしょうか。

・b2e の list:セクション を利用した書庫内容閲覧について
対象書庫内に2つ以上の空白を含むパスがあると正しく表示されません。
互換性との兼ね合いもあると思いますので、
「scanオプションのEが負数以外の場合、E文字以降から行末まで
をパスとして認識される」というようなオプションを用意して頂けると、
さらに外部プログラムが利用しやすくなると思います。

最後に質問です。
DLL更新プログラムでRar解凍系にチェックをすると、
何度インストールをしても、"Unrar32.dll 0.12に更新" と表示されます。
他のDLLでは最新の場合、表示されないのですが Unrar32.dll だけ
最新にしても表示されるのは何か理由があるのでしょうか?

長くなりましたが、ご検討の程よろしくお願いします。

タイトルRe: 修正) 【要望】相対パスについて
記事No265
投稿日: 2012/03/20(Tue) 02:13:36
投稿者Claybird < >
参照先http://claybird.sakura.ne.jp/
PCにインストールせず、USBメモリなどに導入するために相対パスを設定している、という状況でしょうか。

まず、この二つの問題
> ・DLL更新プログラム(LFCaldix.exe)に相対パスを設定した場合について
> 上記プログラムに相対パスを設定した場合、LhaForge本体側ではDLLを認識してくれるのですが、
> B2E32.DLL側がそれを認識してくれず、b2eを利用した圧縮及び解凍ができません。

> DLL更新プログラムでRar解凍系にチェックをすると、
> 何度インストールをしても、"Unrar32.dll 0.12に更新" と表示されます。
は技術的には原因は同じです。

b2e32.dllは呼び出されると外部DLL/実行ファイルをロードしますが、それと同じくunrar32.dllも外部DLL(unrar.dll)をロードします。
このとき、どちらのケースでも、相対パス指定されたDLLの場所を認識できないため、読み込みに失敗します。
(たしか、DLL更新時、unrar32.dllは外部DLL読み込みに失敗すると「未インストール」と同じ反応を返したはずです)。

この問題はLhaForge/Caldixで修正できるはずですが、事情により修正版を出すには少し時間が必要です(今月中には出したいところです)。

それまでの急場しのぎが必要でしたら、
・B2E32.dllが使用するツールは、B2Eスクリプトフォルダ内に配置する
・unrar32.dll/unrar.dllをLhaForge.exeと同じフォルダに配置する
といった処置をお試し下さい。
うまくいけば問題が緩和されるはずです。

また、
> ・"LhaForge設定 > 一般設定 > 圧縮/解凍のログ" の設定を
>  "表示しない" 以外に設定した場合について
> 上記設定によって表示されるダイアログについてですが、
> よく他のウィンドウの下に隠れたままになっているので(b2e使用時)、
> ダイアログが表示される時は一度前面に表示されるようなオプションを用意して頂けないでしょうか。
についても対応したいと思います。

> また、b2eで使用する外部プログラムに、パスが通っているかを簡易的に確認するために、
> "LhaForge設定 > DLLの情報と更新" にb2eの情報も追加して頂ければと思います。
についても、利用可能なB2Eスクリプト一覧の表示程度でしたら可能です。

> ・b2e の list:セクション を利用した書庫内容閲覧について
> 対象書庫内に2つ以上の空白を含むパスがあると正しく表示されません。
> 互換性との兼ね合いもあると思いますので、
> 「scanオプションのEが負数以外の場合、E文字以降から行末まで
> をパスとして認識される」というようなオプションを用意して頂けると、
> さらに外部プログラムが利用しやすくなると思います。
これについては、オプションを用意するよりは、Eの記法を拡張して、「E相当の数字の後に"!"を追加する("10!"のように)と空白を区切りとして認識しない」という仕様の方が互換性の面でもいい気がします。

いずれについても、対応まで少し時間がかかりますのでご了承下さい。

タイトルRe^2: 修正) 【要望】相対パスについて
記事No266
投稿日: 2012/03/20(Tue) 12:51:40
投稿者甘栗
返答ありがとうございます。

教えて頂いた対処法を取り入れながら、
お待ちしたいと思います。

タイトル【追加要望】b2eを利用した圧縮での書庫名指定について
記事No269
投稿日: 2012/04/11(Wed) 11:27:12
投稿者甘栗
現在使用できる (arc[+].ext) では書庫名から拡張子を全て除くか、
取らないため、 "abc.ini.bak" のようなファイル名のとき "abc.ini.zip"
というような書庫名を指定できません。

そのため、上記のような複数拡張子がある場合でも、最後の拡張子のみを
変更できるメソッドの追加、または(arc)の書式の拡張などの修正をお願いできないでしょうか?
よろしくお願いします。

タイトルRe: 【追加要望】b2eを利用した圧縮での書庫名指定について
記事No271
投稿日: 2012/04/11(Wed) 21:20:06
投稿者Claybird < >
参照先http://claybird.sakura.ne.jp/
Claybirdです。

> そのため、上記のような複数拡張子がある場合でも、最後の拡張子のみを
> 変更できるメソッドの追加、または(arc)の書式の拡張などの修正をお願いできないでしょうか?

いまやっている修正のついでにやってしまいたいと思います。
もうしばらくお待ちください。

タイトル【追加要望】b2eを利用した検査
記事No286
投稿日: 2012/04/26(Thu) 19:36:45
投稿者甘栗
b2eからでも書庫の検査ができるように check: セクション
の拡充をお願いできないでしょうか。
希望動作としては check: セクション 内にテスト用コマンドを記述し、
そのコマンド結果(エラーコード)で判定というものです。

タイトルRe: 【追加要望】b2eを利用した検査
記事No287
投稿日: 2012/04/27(Fri) 21:59:13
投稿者Claybird < >
参照先http://claybird.sakura.ne.jp/
> b2eからでも書庫の検査ができるように check: セクション
> の拡充をお願いできないでしょうか。
> 希望動作としては check: セクション 内にテスト用コマンドを記述し、
> そのコマンド結果(エラーコード)で判定というものです。

これは残念ながら対応できません。
プログラムが複雑になりすぎるのが理由です。

もう少し詳しく言いますと、コマンド結果の文字列をチェックする場合は、list:セクションのscan関数のような文字列をチェックする処理を必要とします。
しかしファイル名一覧と違い、成功/失敗を確認するのはscan関数よりも高度な文字列処理が必要になります。
一般的には正規表現が使われますが、これを組み込むとプログラムが複雑になりすぎます。

コマンドからOSに返ってくるエラーコード(環境変数%ERRORLEVEL%)を見る方法も考えられますが、これも望み薄です。
現状でも、Noah/B2E32.dllでは外部コマンド使用時は圧縮・展開の成功/失敗の判定すらできていません。
同様に、検査も同様に成功/失敗の判定ができない可能性が高いです。