マクロでエラーが発生No.23311
ダヴィンチ1958 さん 05/06/20 23:25
 

2005/06/20(月) 23:19:07

こんにちは、ダヴィンチ@ユーザーです。


最近作成した(受信時)自動起動マクロで以下のエラーが発生します。
条件としては、返信用エディタを起動している時に発生します。

エラーメッセージダイアログ

TKINFO.DLL:エディタ上で実行できないTKInfo.dll呼び出しが行われました。
以下同じメッセージに対して関数コードが順番に表示されます。

--
関数コード=8
関数コード=25
関数コード=31
関数コード=8
関数コード=11

関数コード=8
関数コード=25
関数コード=31
関数コード=8
関数コード=11

関数コード=8
関数コード=25
関数コード=31
関数コード=8
関数コード=11
--

各関数コードの意味を教えて下さい。

--
メーラー: TuruKame 4.17beta7 (WinNT,500)
OS: Windows2000 SP4

[ ]
RE:23311 マクロでエラーが発生No.23315
秀まるお2 さん 05/06/21 09:09
 
 関数コードはこんな風になっています。

enum TKINFOBACK {
    TKINFOBACK_NONE,                // 0
    TKINFOBACK_GETROOTMAIL,         // 1 返信または転送元のメールの先頭アド
レスを返す、外部ウィンドウ専用
//  TKINFOBACK_ALLOCQUOTEDROOTBODY, //  返信または転送元のメール本文を引用し
てLocalAllocして返す
    TKINFOBACK_SMALLROOTHEADER,     // 2 元メールのヘッダをMakeSmallHeaderし
てLocalAllocして返す
    TKINFOBACK_GETCURRENTHEADERONE, // 3 現在メールのヘッダ内容を返す
    TKINFOBACK_COUNTCURRENTHEADER,  // 4 同じヘッダが何個あるか返す
    TKINFOBACK_GETACCOUNT,          // 5 番号指定でアカウント名を返す
    TKINFOBACK_CURRENTACCOUNT,      // 6 現在選択しているアカウントを返す
    TKINFOBACK_CURRENTFOLDER,       // 7 現在選択しているフォルダのパス名を返す
    TKINFOBACK_SELECTFOLDER,        // 8  フォルダの選択
    TKINFOBACK_EXPANDFOLDER,        // 9  フォルダの展開/折りたたみ
    TKINFOBACK_DOFILTER,            // 10 振り分けの実行
    TKINFOBACK_EXIT,                // 11 鶴亀メール本体の終了
    TKINFOBACK_DOCOMMAND,           // 12 コマンドの実行、param1はコマンドの値
    TKINFOBACK_DELETE,              // 13 現在のメールを削除する
    TKINFOBACK_MOVECOPY,            // 14 現在のメールを移動/コピー
    TKINFOBACK_GETFLAG,             // 15 現在のメールのフラグ(32bit)を返す
    TKINFOBACK_GETMAILTYPE,         // 16 現在のメールが受信したメールか新規
メールか返信メールか転送メールかを返す
    TKINFOBACK_CLEARUPDATED,        // 17 更新フラグをクリアする
    TKINFOBACK_SELECTPANE,          // 18 現在のフォーカスのある枠の指定
    TKINFOBACK_GETAUTOEXECMACRO,    // 19 自動実行マクロの取得
    TKINFOBACK_GETRECVMAILCOUNT,    // 20 直前の受信メール数
    TKINFOBACK_SELECTNEXTRECVMAIL,  // 21 受信メールを1つ選択する。選択した
メールはMAILFLAG_HOTがOFFになる
    TKINFOBACK_GETRECVMAILCOUNTINFOLDER,    // 22 現在フォルダ中の受信メール
数、ただし、SELECTNEXTRECVMAILした物は除く
    TKINFOBACK_SELECTNEXTRECVMAILINFOLDER,  // 23 現在フォルダ中から受信メー
ルを1つ選択する。選択したメールはMAILFLAG_HOTがOFFになる。

    TKINFOBACK_SETTHREADVIEW,           // 24 スレッド表示と一覧表示の切り替え
    TKINFOBACK_ISTHREADVIEW,            // 25 スレッド表示かどうか
    TKINFOBACK_GETSORTMETHOD,           // 26 ソート方法を返す
    TKINFOBACK_SETSORTMETHOD,           // 27 ソート方法の設定
    TKINFOBACK_GETVIEWAREA,             // 28 現在の表示範囲
    TKINFOBACK_SETVIEWAREA,             // 29 表示範囲の設定
    TKINFOBACK_GETMAILCOUNT,            // 30 現在フォルダのメール数(表示上)
    TKINFOBACK_GETMAILCOUNTALL,         // 31 現在フォルダのメール数(フォル
ダ中のすべて)
    TKINFOBACK_GETMAILINDEX,            // 32 現在メールの先頭からの順番(一
覧表示の時のみ)
    TKINFOBACK_SETMAILINDEX,            // 33 現在メールの先頭からの順番設定
(一覧表示の時のみ)
    TKINFOBACK_ISTRANSMITTING,          // 34 送受信の最中かどうか
    TKINFOBACK_GETSENTMAILCOUNT,        // 35 送信したメールの数
    TKINFOBACK_GETTRANSMITCANCELED,     // 36 送受信がキャンセルされたかどうか
    TKINFOBACK_GETTRANSMITERROR,        // 37 送受信でエラーが起きたかどうか
    TKINFOBACK_DISABLEDRAW,             // 38 画面描画の禁止/許可
    TKINFOBACK_ISTRAYICON,              // 39 トレーに入っているかどうか
    TKINFOBACK_GETHEADERVIEW,           // 40
    TKINFOBACK_SETCANCEL,               // 41 「後で送信/今すぐ送信」のキャ
ンセル
    TKINFOBACK_ROOTFOLDER,              // 42 返信元または転送元メールのフォ
ルダ
    TKINFOBACK_SETHEADER,               // 43 ヘッダの書き換え
    TKINFOBACK_ADDHEADER,               // 44 ヘッダ項目に値追加(コンマ区切
り)
    TKINFOBACK_EXECAT,                  // 45 別スレッドでコマンド実行
    TKINFOBACK_GETHOMEDIR,              // 46 config.szHomeDirの値を返す
    TKINFOBACK_GETSELECTEDROOTTEXT,     // 47
//  TKINFOBACK_ALLOCQUOTEDSELECTEDROOTTEXT,
    TKINFOBACK_GETVERSION,              // 48 鶴亀メールのバージョン番号
    TKINFOBACK_SETEDITORACCOUNT,        // 49 エディタのアカウントの切り替え
    TKINFOBACK_ACCOUNTFROM,             // 50
    TKINFOBACK_ACCOUNTREPLYTO,          // 51
    TKINFOBACK_GETFILENAME,             // 52 現在のメールのファイル名を返す
    TKINFOBACK_GETFILEPATH,             // 53 現在のメールのファイルのフルパ
スを返す
    TKINFOBACK_REMAKELIST,              // 54 メール一覧の作成し直し
    TKINFOBACK_GETXMAILER,              // 55 X-Mailerヘッダ内容の取得。
    TKINFOBACK_DECODEHEADER,            // 56 =?iso-2022-jp?b?等のデコード処
理。
    TKINFOBACK_STARTCOMMANDTIMER,       // 57 マクロ終了後に実行するコマンド
の指定
    TKINFOBACK_ADDATTACH,               // 58
    TKINFOBACK_UNDOATTACH,              // 59
    TKINFOBACK_NEXTPAGE2,               // 60 1ページ分確実に次ページ。
    TKINFOBACK_NEXTUNREADCUSTOM,        // 61
    TKINFOBACK_PREVUNREADCUSTOM,        // 62
    TKINFOBACK_ENSUREONLINE,            // 63 ダイヤルアップ関係
    TKINFOBACK_DIALUP,                  // 64
    TKINFOBACK_DIALUPSELECT,            // 65
    TKINFOBACK_HANGUP,                  // 66
    TKINFOBACK_CURRENTDIALUP,           // 67
    TKINFOBACK_REFRESHMAILLIST,         // 68 メール一覧の作成し直し
    TKINFOBACK_MAKEFOLDER,              // 69 フォルダの作成
    TKINFOBACK_ENVCHANGED,              // 70
    TKINFOBACK_SETCUSTOMTRANSMIT,       // 71 アカウント指定での送受信
    TKINFOBACK_SELECTADRBOOK,           // 72 アドレス帳を表示して宛先を返す
    TKINFOBACK_LOCALALLOC2,             // 73
    TKINFOBACK_LOCALFREE2,              // 74
    TKINFOBACK_LOADACCOUNTPROP,         // 75 アカウント毎の設定をロードする
    TKINFOBACK_SAVEACCOUNTPROP,         // 76 アカウント毎の設定を保存する
    TKINFOBACK_DELETEACCOUNTPROP,       // 77 内部用
    TKINFOBACK_MAKEACCOUNT,             // 78 アカウントの新規作成
    TKINFOBACK_GETSENDMACRO,            // 79 送信時用マクロ名の取り出し
    TKINFOBACK_GETCANCEL,               // 80 「後で送信/今すぐ送信」のキャ
ンセルの取り出し
    TKINFOBACK_GETFINDPACK,             // 81
    TKINFOBACK_SETFINDPACK,             // 82
    TKINFOBACK_DOGREP,                  // 83 grepコマンドの実行
    TKINFOBACK_DOGREPPERSON,            // 84
    TKINFOBACK_PUSHFINDPACK,            // 85 検索条件の履歴への保存
    TKINFOBACK_QUOTE,                   // 86 引用の処理(例外的)
    TKINFOBACK_QUOTE2,                  // 87 引用の処理(例外的)
    TKINFOBACK_SETEDITORACCOUNT2,       // 88 エディタのアカウントの切り替え
(ヘッダ書き換え付き)
    TKINFOBACK_GETCURRENTPANE,          // 89 V1.56
    TKINFOBACK_SETHEADER2,              // 90 ヘッダの書き換え
    TKINFOBACK_NEXTPREVCUSTOM,          // 91 次のメールなど
    TKINFOBACK_ISTURUKAMEMACROEXECUTING,// 92
    TKINFOBACK_ISHIDEMARUMACROEXECUTING,// 93
    TKINFOBACK_DELETEHEADER,            // 94 ヘッダ削除
    TKINFOBACK_GETMAILCOLOR,            // 95 メールの色
    TKINFOBACK_SETMAILCOLOR,            // 96
    TKINFOBACK_SETMAILFLAG,             // 97 メールのフラグ設定
    TKINFOBACK_FINDBOOK,                // 98 Emailをアドレス帳から検索して、
名前を返す。見つからなければ""
    TKINFOBACK_FINDBOOK2,               // 99 名前+Emailをアドレス帳から検査
して、名前を変換して名前部分だけを返す。
    TKINFOBACK_FINDBOOK3,               // 100 名前+Emailをアドレス帳から検
査して、名前を変換して全体を返す。
    TKINFOBACK_GETDONTORIKAESHI,        // 101
    TKINFOBACK_SAVEDRAFT2,              // 102 サブフォルダ指定付きのSaveDraft
    TKINFOBACK_GETRECVMAILCOUNTSHOW,    // 103 trans.cRecvLastShowを返す関数。
    TKINFOBACK_MAKERESENTFORWARD,       // 104 そのまま転送コマンド
    TKINFOBACK_SETWINDOWCENTER,         // 105
    TKINFOBACK_FINDBOOKNOTE,            // 106 備考1を返す
    TKINFOBACK_FINDBOOKNOTE2,           // 107 備考2を返す
    TKINFOBACK_FINDBOOKNOTE3,           // 108 備考3を返す
    TKINFOBACK_FINDBOOKGROUP,           // 109 グループ名を返す。
    TKINFOBACK_FINDBOOKGROUPPATH,       // 110 グループのパス名を返す。
    TKINFOBACK_LOADFOLDERTEMPLATE,      // 111 param1=type, param2=アカウン
ト名 param3=フォルダ名
    TKINFOBACK_SAVEFOLDERTEMPLATE,      // 112 param1=type, param2=アカウン
ト名 param3=フォルダ名 param4=内容
    TKINFOBACK_GETTEMPLATENAME,         // 113 V2.04 param1=type, param2=番号
    TKINFOBACK_LOADTEMPLATE,            // 114 param1=type, param2=名前
    TKINFOBACK_GETTEMPLATEASSOCIATEDSIGN,// 115 param1=type, param2=名前
//  TKINFOBACK_SAVETEMPLATE,            // param1=type, param2=名前, param3=
内容, param4=連動させる署名
    TKINFOBACK_SWITCHTEMPLATE,          // 116 テンプレートの切り替え(エデ
ィタ上で)、param1=テンプレート名
    TKINFOBACK_SWITCHSIGN,              // 117 署名の切り替え(エディタ上
で)、param1=署名の名前
    TKINFOBACK_SETTARGETDRAFTFOLDER,    // 118 SetTargetDraftFolder
    TKINFOBACK_IMPORT,                  // 119 param1=ファイル名, param2=種
類, param3=recvかどうか、param4=makelogかどうか
    TKINFOBACK_EXPORT,                  // 120 param1=ファイル名/フォルダ名,
 param2=種類, param3=エンコード関係指定
    TKINFOBACK_ALTERSAVE,               // 121 改変保存(送信済みメールで使
う用)
    TKINFOBACK_REGIST,                  // 122 param1=レジストキー, param2=名前
    TKINFOBACK_BEGINEDITMAIL,           // 123
    TKINFOBACK_CANCELEDITMAIL,          // 124
    TKINFOBACK_SAVEEDITMAIL,            // 125
    TKINFOBACK_CHECKDUPLICATION,        // 126 CheckDuplication
    TKINFOBACK_CHECKDUPLICATION_UNDER,  // 127 CheckDuplicationUnder
    TKINFOBACK_GETENCODEDSIZE,          // 128 GetEncodedSize
    TKINFOBACK_GETGREPWND,              // 129
    TKINFOBACK_GETFILEOFFSET,           // 130 MailFileOffset
    TKINFOBACK_LOCKSELECTION,           // 131 LockSelection
    TKINFOBACK_UNLOCKSELECTION,         // 132 UnlockSelection
    TKINFOBACK_ENUMSELECTION,           // 133 EnumSelection
    TKINFOBACK_PROCESSKINSOKU,          // 134 ProcessKinsoku
    TKINFOBACK_SHOWNOTIFYWND,           // 135 ShowNotifyWnd, GetNotifyWnd,
HideNotifyWnd
    TKINFOBACK_CREATEMESSAGEID,         // 136 CreateMessageId
    TKINFOBACK_GETNEXTFOLDER,           // 137
    TKINFOBACK_GETPREVFOLDER,           // 138
    TKINFOBACK_GETFOLDERMAILCOUNT,      // 139
    TKINFOBACK_GETFOLDERHOTSTATE,       // 140
    TKINFOBACK_GETFOLDEREXPANDSTATE,    // 141
    TKINFOBACK_CSVEXPORT,               // 142
    TKINFOBACK_DOBOOKGREP,              // 143
    TKINFOBACK_DOLDAPGREP,              // 144
    TKINFOBACK_GETGREPRESULTPART,       // 145
    TKINFOBACK_RENAMEATTACH,            // 146
    TKINFOBACK_DELETEATTACH,            // 147
    TKINFOBACK_ISDIALUPABLE,            // 148 IsDialupable   V2.79
    TKINFOBACK_GETSELECTEDMAILCOUNT,    // 149 SelectedMailCount V3.07β1
    TKINFOBACK_ADRBOOK,                 // 150 アドレス帳、V3.07β1
    TKINFOBACK_GETCURRENTTEMPLATENAME,  // 151
    TKINFOBACK_GETCURRENTSIGNNAME,      // 152
    TKINFOBACK_GETTEMPLATEREFERENCE,    // 153
    TKINFOBACK_SETTEMPLATEREFERENCE,    // 154
    TKINFOBACK_REMOTEMAIL_RELOAD,       // 155
    TKINFOBACK_REMOTEMAIL_DELETE,       // 156
    TKINFOBACK_FINDBOOKDATE,            // 157 アドレス帳中の登録日を返す
    TKINFOBACK_HEADERORIKAESHI,         // 158 ヘッダ用の折り返し処理をする。
    TKINFOBACK_CURRENTACCOUNTGROUP,     // 159 現在選択しているアカウントグ
ループを返す
    TKINFOBACK_EXECATMAIN,              // 160
    TKINFOBACK_GETRECVMAILCOUNTEXCLUDEPARTIAL,  // 161 V3.07β29
    TKINFOBACK_GETBOOKWND,              // 162 V3.07β33 アドレス帳ウィンド
ウのハンドルを返す。
    TKINFOBACK_GETOPENEDWND,            // 163 V3.97β33 現在のメールを開い
てるエディタのハンドルを返す。
    TKINFOBACK_HIDEMARU_SCREENTOPY,     // 164 V3.97β33 hidemaru_screentopy
    TKINFOBACK_EXTRACTBOOKGROUP,        // 165 V3.50β9 ExtractBookGroup関数
    TKINFOBACK_GETMAILTRANSMITDATE,     // 166 V3.50β16 GetMailTransmitDate
    TKINFOBACK_SETMAILTRANSMITDATE,     // 167 V3.50β16 SetMailTransmitDate
    TKINFOBACK_SETQUIETMODE,            // 168 V3.56β6 SetQuietMode
    TKINFOBACK_GETNEWMAILTYPE,          // 169 V3.56β6 GetNewMailType
    TKINFOBACK_GETREASONMACROSTARTED,   // 170 V3.64
    TKINFOBACK_NOWARNINGHEADERUPDATE,   // 171 V4.00β1
    TKINFOBACK_NOWARNINGROOTUPDATEFAIL, // 172 V4.00β1
    TKINFOBACK_SETVIEWAREAFOUNDBEFORE,  // 173 V4.00β5
    TKINFOBACK_ROOTFOLDER2,             // 174 返信元または転送元メールのフ
ォルダ
    TKINFOBACK_ENCRYPTSIGN,             // 175
    TKINFOBACK_LOADANDGETSPAMFILTER,    // 176
    TKINFOBACK_GETPARTIALSEND,          // 177
    TKINFOBACK_ENTERPRINTMULTI,         // 178
    TKINFOBACK_LEAVEPRINTMULTI,         // 179
};

[ ]
RE:23315 マクロでエラーが発生No.23333
ダヴィンチ1958 さん 05/06/21 22:38
 

2005/06/21(火) 22:36:01

こんにちは、秀まるお2さん

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

ご回答ありがとうございました。
自動起動マクロの中でエディタ(送信または受信エディタ)が起動中か
どうかを認識する方法はないでしょうか?
メイン画面『dllfunc( "MainWnd" );』はありましたが、エディタ画面は
見つかりませんでした。

/*
** タイトル:『hidesoft.8:23315| RE 23311 マクロでエラーが発生』
** 発信日:2005年06月21日(火) 09:09:35
** 発信者:秀まるお2さん
*/
> 関数コードはこんな風になっています。
>
>enum TKINFOBACK {
>    TKINFOBACK_NONE,                // 0
>    TKINFOBACK_GETROOTMAIL,         // 1 返信または転送元のメールの先頭アド
途中省略・・・
>    TKINFOBACK_ENTERPRINTMULTI,         // 178
>    TKINFOBACK_LEAVEPRINTMULTI,         // 179
>};

--
メーラー: TuruKame 4.17beta7 (WinNT,500)
OS: Windows2000 SP4

[ ]
RE:23333 マクロでエラーが発生No.23334
アルビレオ さん 05/06/21 23:51
 
アルビレオです。

>自動起動マクロの中でエディタ(送信または受信エディタ)が起動中か
>どうかを認識する方法はないでしょうか?
>メイン画面『dllfunc( "MainWnd" );』はありましたが、エディタ画面は
>見つかりませんでした。

一応、OpendEditorWndならありますし、そうでなければ「エディタウィンドウが
1枚でも開いているかどうか」みたいな意味になりそうなので、あまり使い道が
ないと判断されたのではないでしょうか。
どういうときに必要なのかを説明すれば検討してくれるかもしれませんね。

[ ]
RE:23334 マクロでエラーが発生No.23335
ダヴィンチ1958 さん 05/06/22 00:15
 

2005/06/22(水) 00:03:35

こんにちは、アルビレオさん

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

レスありがとうございました。
OpendEditorWndこれでは、新規送信エディタや返信エディタなどは
わからないようなので、いけません。

#秀まるおさんへ
それから『OpendEditorWnd』は間違いで
正しくは『OpenedEditorWnd』でした。
ヘルプへのリンク文字が間違っています。
ヘルプ内の記述は正しいようです。

わざわざ教えて頂いたのに重箱のスミをほじくるような
失礼をお許し下さい。

むしろ、ヘルプの誤記が原因ですから
お気になさらないで下さい。

/*
** タイトル:『hidesoft.8:23334| RE 23333 マクロでエラーが発生』
** 発信日:2005年06月21日(火) 23:51:54
** 発信者:アルビレオさん
*/
>アルビレオです。
>
>>自動起動マクロの中でエディタ(送信または受信エディタ)が起動中か
>>どうかを認識する方法はないでしょうか?
>>メイン画面『dllfunc( "MainWnd" );』はありましたが、エディタ画面は
>>見つかりませんでした。
>
>一応、OpendEditorWndならありますし、そうでなければ「エディタウィンドウが
>1枚でも開いているかどうか」みたいな意味になりそうなので、あまり使い道が
>ないと判断されたのではないでしょうか。
>どういうときに必要なのかを説明すれば検討してくれるかもしれませんね。

--
メーラー: TuruKame 4.17beta7 (WinNT,500)
OS: Windows2000 SP4

[ ]
RE:23335 マクロでエラーが発生No.23336
アルビレオ さん 05/06/22 00:54
 
アルビレオです。

>OpendEditorWndこれでは、新規送信エディタや返信エディタなどは
>わからないようなので、いけません。

「いけません」だけだと伝わらないと思います。
欲しいのはどういう情報なのかを具体的に書かないと。

たとえば
・マクロを実行しているのがエディタウィンドウかどうか
  IsTuruKameMain/IsTuruKameGrepでわかる
・開いているエディタウィンドウが存在するのかどうか
  Isxxxxのような0か1を返すだけの関数を追加?(意味なさそう…)
・ウィンドウの個数やウィンドウハンドルを全部知りたい
  SelectedMailCount/EnumSelectionのような列挙型関数を追加?

のように、考えられるパターンはいろいろとありますから。

>自動起動マクロの中でエディタ(送信または受信エディタ)が起動中か
>どうかを認識する方法
を言葉どおりに受け取ると
>「エディタウィンドウが1枚でも開いているかどうか」みたいな意味になりそう
と思ったので
>どういうときに必要なのかを説明すれば検討してくれるかもしれませんね。
というのはそういう意味も込めてたんですが、ちょっとわかりにくかったですね。

[ ]
RE:23336 マクロでエラーが発生No.23337
秀まるお2 さん 05/06/22 08:46
 
 エディタウィンドウが起動しているかどうかは、findwindowclassで
TuruKameOuterViewを探せばいいと思います。

   if( findwindowclass("TuruKameOuterView") != 0 ) {
       message "エディタが起動してます。";
   } else {
       message "エディタはいません。";
   }

 あと、ヘルプの方の間違いご指摘ありがとうごさいます。さっそく修正します。

[ ]
RE:23336 マクロでエラーが発生No.23358
ダヴィンチ1958 さん 05/06/22 22:30
 

2005/06/22(水) 22:24:14

こんにちは、アルビレオさん

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

何度もお手数をお掛けして申し訳ありませんでした。
経緯や前提が抜けていたので質問の意図が伝わり難かったですね。

ただ既に秀まるお2さんより、ご回答頂いた以下の件で
問題は解決致しましたので、具体的な話は割愛させて頂きます。

また今後とも宜しくお願い致します。

#秀まるお2さん、ご回答ありがとうございました。

/*
** タイトル:『hidesoft.8:23337| RE 23336 マクロでエラーが発生』
** 発信日:2005年06月22日(水)
** 発信者:秀まるお2さん
*/
>   if( findwindowclass("TuruKameOuterView") != 0 ) {
>       message "エディタが起動してます。";
>   } else {
>       message "エディタはいません。";
>   }


/*
** タイトル:『hidesoft.8:23336| RE 23335 マクロでエラーが発生』
** 発信日:2005年06月22日(水) 00:54:56
** 発信者:アルビレオさん
*/
>>OpendEditorWndこれでは、新規送信エディタや返信エディタなどは
>>わからないようなので、いけません。
>
>「いけません」だけだと伝わらないと思います。
>欲しいのはどういう情報なのかを具体的に書かないと。

--
メーラー: TuruKame 4.17beta7 (WinNT,500)
OS: Windows2000 SP4

[ ]