[ 新規に投稿する ]

tkinfo.dll関数のエラー?No.14252
bonchan さん 26/04/23 17:23 [ コメントを投稿する ]
  定期受信にて複数のアカウントを巡回して送受信を行っています。
以下のエラーが表示されて、巡回動作が止まってしまうようになりました。

tkinfo.dll関数のパラメータで指定されたフォルダが見つかりません。
アカウント名=○○(複数あるアカウントの中の一つ目)
フォルダ名=

また、起動時のオプションで"/m"を付けて起動し、
2つの秀丸メールを稼働させるようにしてから
発生するようになったと思われます。

マクロや関数などは使ったことがないので良く分かりません。

確認する点、エラーの回避策をご教示いただけますでしょうか。

秀丸メール Ver7.33
OS:Windows11 Pro
[ ]
RE:14252 tkinfo.dll関数のエラー?No.14253
秀まるお2 さん 26/04/23 18:10 [ コメントを投稿する ]
  そのエラーはマクロからtkinfo.dllの特定関数を呼び出した時に出る可能性のあるエラーなので、何かマクロを実行しない限りは出ないはずのエラーじないかと思います。

たとえば「マクロ」メニューの「マクロ登録」コマンドを実行した先の「自動起動」ページの中の「受信が一段落した時」に何か登録されていたら、定期受信の時にもそのマクロが実行されるので、それでエラーが出る可能性があります。何か登録されてたら無しにしてみてほしいです。

他の可能性はちょっと分からないですが、「全般的な設定 - 上級者向け - 動作の記録」の「秀丸メールの動作をdump.txtに記録する」をONにしてからエラーを発生させて、その後、秀丸メールのデータ用フォルダにあるdump.txtファイルを開いて最後の方を見れば、何かヒントが見つかります。たとえばマクロ実行してるなら、

18:03:32.238 (   0) ExecCommandMacroSub E:\DontMirror\macro\test.mac
18:03:32.247 (13929) FrameWnd:TKINFO 6
18:03:32.248 (4663) TKINFO 6
18:03:32.248 (13938) FrameWnd:TKINFO 6 return 0FAEDB4C
18:03:32.248 (13929) FrameWnd:TKINFO 139

みたいな感じで「ExecMacro」みたいなのとセットでマクロファイル名がログに出てたりします。

この辺の記録をご自身で見てもなんとなく分かる場合もあるし、分からない場合は、時刻を見てエラーの出たタイミング付近の記録だけ僕に送っていただければ、何か原因をお返事できるかもしれません。

あと、エラーメッセージがちょっとバグってました。「フォルダ=」の後ろに何も出てないのは、実はバグでした。ちゃんとフォルダ名が出るように今直しました。あと、tkinfo.dllのどの関数を呼び出したのかがエラーメッセージでは特定できないのですが、これも次のβ版で特定できるように直します。

ちなみに次のβ版は今日の夜か明日にでもアップロードしようかなぁと思ってる所です。

---------------------------------
「/m」のオプションを指定するテストもしてみたんですが、特にマクロ実行してない場合でこのエラーが出るのは再現できませんでした。

[ ]
RE:14253 tkinfo.dll関数のエラー?No.14255
bonchan さん 26/04/24 09:47 [ コメントを投稿する ]
  早速のご回答、まことにありがとうございます。

ご想像通り、自動起動のマクロが一つ登録されており、
それが実行されたタイミングでエラーが出ているようです。

先ほど、エラー発生時のdump.txtの抜粋と当該マクロファイルを添えて
メールで詳細をお知らせいたしました。

ご確認のほど、よろしくお願いいたします。

>そのエラーはマクロからtkinfo.dllの特定関数を呼び出した時に出る可能性のあるエラーなので、何かマクロを実行しない限りは出ないはずのエラーじないかと思います。
> ......
>
[ ]
RE:14255 tkinfo.dll関数のエラー?No.14257
秀まるお2 さん 26/04/24 10:46 [ コメントを投稿する ]
  メールで送っていただいたんですが、こちらにコメントさせていただきます。

エラーになる理由ですが、前任者が登録したマクロの中身的に、特定のアカウントの「未送信」フォルダで「重複メールのチェック」を自動実行してるせいのようです。重複メールが発生することはそう滅多にないと思うし、発生してても特に困ることも無いと思うので、とりあえずマクロは外してもらっても大丈夫だと思います。

エラーが出る原因は、マクロの中でアカウント名を固定で指定してるせいです。

    $account = "xxxxxxx@xxxxxxxxxxxx.co.jp";

みたいにアカウント名を指定してるので、「/d」オプションで別のメールデータを指定してる場合には、そのアカウントが存在しないってことでエラーになるんだと思います。

マクロは無しで大丈夫なはずですが、本当に無くして大丈夫かどうか心配でしたら、前任者になぜそういうマクロを登録してたのか聞いてもらうしか無いと思います。マクロを直してなんとかするとしたら、たとえば

      if( dllfuncstr("HomeDir") != "......" ) {
          endmacro;
      }

みたいにして特定のメールデータ用フォルダの場合でなければ余計な処理はしない、みたいにすることは可能だと思います。前任者がもし必要だと言うことなら、その人に直してもらうのがいいと思います。
[ ]
RE:14257 tkinfo.dll関数のエラー?No.14258
bonchan さん 26/04/24 11:44 [ コメントを投稿する ]
  早々にご確認いただき、まことにありがとうございます。

前任者に確認ができない状況となっており、このマクロの必要性の判断ができませんが、ここまでご教示いただいた情報を加味して状況を整理したところ、エラーの発生原因がわかりました。

2つ稼働しているアプリで同一のマクロを使用しているため、"$account ="で指定しているアカウント名は同一なのですが、エラーが発生する方のアプリ稼働環境を構築する際、アカウント名の先頭に識別用に文字列を追加したため、アカウント名としては異なる内容になっていました。
このため、指定されたアカウントが無い、ということでエラーになっていたと思われます。

エラーが発生する方のマクロを個別に用意して、アカウント名を前述の内容にして登録したところ、エラーが発生しなくなりました。

当方の単純な設定ミスが原因でお手数をおかけして、まことに申し訳ございませんでした。

また、親身にご対応いただき、ありがとうございました。

>メールで送っていただいたんですが、こちらにコメントさせていただきます。
>
>エラーになる理由ですが、前任者が登録したマクロの中身的に、特定のアカウントの「未送信」フォルダで「重複メールのチェック」を自動実行してるせいのようです。重複メールが発生することはそう滅多にないと思うし、発生してても特に困ることも無いと思うので、とりあえずマクロは外してもらっても大丈夫だと思います。
>
>エラーが出る原因は、マクロの中でアカウント名を固定で指定してるせいです。
>
>    $account = "xxxxxxx@xxxxxxxxxxxx.co.jp";
>
>みたいにアカウント名を指定してるので、「/d」オプションで別のメールデータを指定してる場合には、そのアカウントが存在しないってことでエラーになるんだと思います。
>
>マクロは無しで大丈夫なはずですが、本当に無くして大丈夫かどうか心配でしたら、前任者になぜそういうマクロを登録してたのか聞いてもらうしか無いと思います。マクロを直してなんとかするとしたら、たとえば
>
>      if( dllfuncstr("HomeDir") != "......" ) {
>          endmacro;
>      }
>
>みたいにして特定のメールデータ用フォルダの場合でなければ余計な処理はしない、みたいにすることは可能だと思います。前任者がもし必要だと言うことなら、その人に直してもらうのがいいと思います。
[ ]

[ 新規に投稿する ]