メモ保存マクロでのエラーについてNo.24448
kusakabe さん 05/10/04 19:06
 
以前(2003年)にダヴィンチさんにメモ保存マクロを教えていただき、
使用しているのですが、最近のバージョンで使用すると
下記ポップアップが表示されてしまいます。
OKを選択するとフォルダ選択ウィンドウが表示され
指定のフォルダに保存ができますが、ポップアップが表示
させないようにするにはどうしたらよろしいでしょうか。

[ポップアップメッセージ]
--
ファイルが他で使用中のため、処理が続行できません。
ファイル名=D:\Turukame\アカウント名\草稿\草稿20051004_06.txt
発生場所=FileMan.cpp(7831)
--

マクロは下記です。

//start---
// メモ保存機能
//(裏技シリーズ)
// Ver1.00
//作成日:2003年04月14日(月)
//作成者:ダヴィンチ
//作者E-Mail:xxxxxxxxxxxx@jcom.home.ne.jp
// MemoSave.mac
// main()
loaddll "TKInfo.dll";

// 変数定義
#SEND_WND = 0x0111;
#IDM_MOVE_MAIL = 40011;
#IDM_COPY_MAIL = 40012;

// メールチェック
##n = dllfunc("MailType");
if ( 0 <= ##n && ##n <= 2 ) { // 新規、返信、転送
    ##SAVE_CODE = #IDM_MOVE_MAIL;   // 移動モードに設定
}
else if ( 3 <= ##n && ##n <= 4 ) { // 受信、送信済み
    ##SAVE_CODE = #IDM_COPY_MAIL; // コピーモードに設定
}
else {
    message "保存対象外のメールです。";
    goto EXIT_MAIN;
}

// 一時的に「草稿フォルダー」へ保存
##n = dllfunc("SaveDraft");
if ( ##n == 0 ) {
    message "草稿フォルダへの保存に失敗しました。";
    goto EXIT_MAIN;
}

// 改変可能な受信メールに変更
#n = dllfunc("SetMailFlag", "send", 0);

// フォルダーへの保存ダイアログ表示
#r = sendmessage( hidemaruhandle(0), #SEND_WND, ##SAVE_CODE, 0 );

EXIT_MAIN:
    endmacro;
    freedll;
//end---

[ ]
RE:24448 メモ保存マクロでのエラーについNo.24449
ダヴィンチ1958 さん 05/10/04 21:33
 

2005/10/04(火) 21:25:51

こんにちは、kusakabeさん

ダヴィンチ@ユーザーです。

申し訳ありません。
エラーメッセージから察すると
たぶん次の処理でエラーになっていると
思います。

>// 改変可能な受信メールに変更
>#n = dllfunc("SetMailFlag", "send", 0);

なぜかはわかりませんが、上記の行の下に
以下のif文を入れて実行して、下記のメッセージが
表示されれば確認できると思います。

if ( #n == 0 ) {
 message "改変可能な受信メールに変更できません";
}

当面の対応は、// 改変可能な受信メールに変更 の処理を
コメントにすれば回避出来そうですが
いかがでしょうか?

/*
** タイトル:『hidesoft.8:24448| メモ保存マクロでのエラーについて』
** 発信日:2005年10月04日(火) 19:06:28
** 発信者:kusakabeさん
*/
>以前(2003年)にダヴィンチさんにメモ保存マクロを教えていただき、
>使用しているのですが、最近のバージョンで使用すると
>下記ポップアップが表示されてしまいます。
>OKを選択するとフォルダ選択ウィンドウが表示され
>指定のフォルダに保存ができますが、ポップアップが表示
>させないようにするにはどうしたらよろしいでしょうか。
>
>[ポップアップメッセージ]
>--
>ファイルが他で使用中のため、処理が続行できません。
>ファイル名=D:\Turukame\アカウント名\草稿\草稿20051004_06.txt
>発生場所=FileMan.cpp(7831)
>--
>
>マクロは下記です。
>
>//start---
>// メモ保存機能
>//(裏技シリーズ)
>// Ver1.00
>//作成日:2003年04月14日(月)
>//作成者:ダヴィンチ
>//作者E-Mail:xxxxxxxxxxxx@jcom.home.ne.jp
>// MemoSave.mac
>// main()
>loaddll "TKInfo.dll";
>
>// 変数定義
>#SEND_WND = 0x0111;
>#IDM_MOVE_MAIL = 40011;
>#IDM_COPY_MAIL = 40012;
>
>// メールチェック
>##n = dllfunc("MailType");
>if ( 0 <= ##n && ##n <= 2 ) { // 新規、返信、転送
>    ##SAVE_CODE = #IDM_MOVE_MAIL;   // 移動モードに設定
>}
>else if ( 3 <= ##n && ##n <= 4 ) { // 受信、送信済み
>    ##SAVE_CODE = #IDM_COPY_MAIL; // コピーモードに設定
>}
>else {
>    message "保存対象外のメールです。";
>    goto EXIT_MAIN;
>}
>
>// 一時的に「草稿フォルダー」へ保存
>##n = dllfunc("SaveDraft");
>if ( ##n == 0 ) {
>    message "草稿フォルダへの保存に失敗しました。";
>    goto EXIT_MAIN;
>}
>
>// 改変可能な受信メールに変更
>#n = dllfunc("SetMailFlag", "send", 0);
>
>// フォルダーへの保存ダイアログ表示
>#r = sendmessage( hidemaruhandle(0), #SEND_WND, ##SAVE_CODE, 0 );
>
>EXIT_MAIN:
>    endmacro;
>    freedll;
>//end---

--
メーラー: HidemaruMail 4.55beta4 (WinNT,500)
OS: Windows2000 SP4

[ ]
RE:24449 メモ保存マクロでのエラーについNo.24450
kusakabe さん 05/10/04 21:51
 
ダヴィンチさん
改変可能な受信メールに変更 の処理をコメントにしたら
ポップアップの表示がなくなりました。
どうもありがとうございます。

>当面の対応は、// 改変可能な受信メールに変更 の処理を
>コメントにすれば回避出来そうですが
>いかがでしょうか?

[ ]
RE:24450 メモ保存マクロでのエラーについNo.24454
秀まるお2 さん 05/10/05 09:12
 
 SetMailFlag関数で排他制御のエラーが出るのは、バグのようです。送信系/受
信系の種別変更だとエラーが出るようです。

 とにかくこれはこれでバグとして、秀丸メール側を修正させていただきます。

[ ]