すれ立てるまでもない質問はここで 第77刷
■ このスレッドは過去ログ倉庫に格納されています
0479デフォルトの名無しさん
2006/08/11(金) 03:37:34unlha32.dllを使った圧縮処理を書いたのですが、圧縮処理中ダイアログで
中断ボタンを押した時だけ例外が出てしまいます。
問題点を絞り込むため、この処理だけを単発プロジェクト作成しました。
メインルーチンはモーダルダイアログを作成し、ボタン押下で以下の処理を走らせてみました。
char szCmdLine[1024], szOutput[256];
sprintf(szCmdLine, "a -+d1 \"%s\" \"%s\\\" \"%s\"",
"c:\\hoge.lzh",
"c:\\hoge",
"hage");
if (Unlha(hParentWnd, szCmdLine, szOutput, sizeof(szOutput)) == 0) {
MessageBox(hParentWnd, "圧縮OK", "テスト", MB_OK);
} else {
MessageBox(hParentWnd, "圧縮NG", "テスト", MB_OK);
}
中断ボタンを押さなければ"圧縮OK"でその後何も問題なく処理されます。
中断ボタンを押せば"圧縮NG"が表示され、そのメッセージボックスを閉じると例外になります。
何が悪いのか見当付きません。
環境はVC++6 sp5 WindowsXPです。
叩き殺される覚悟で待っております。
■ このスレッドは過去ログ倉庫に格納されています