【質問】GetLastRecvMailBodyTop関数につNo.43418
HighB さん 12/10/21 18:39
 
 いつも秀丸メールを便利に使用させていただいております。ありがとうございます。

 GetLastRecvMailBodyTop関数については、ヘルプによると、「直前に受信したメー
ルの本文の先頭200バイト程度を取得します」となっていますが、この200バイト
という数値を変更することはできませんでしょうか。個人的には、もう少し増やした
いと思っています。

 別の関数を利用することで、同一の効果を得られるのであれば、それを御教示いた
だいても構いません。

 宜しくお願いいたします。

--
Windows XP Professional Version 2002 Service Pack 3
秀丸メール Version 6.00

[ ]
RE:43418 【質問】GetLastRecvMailBodyTopNo.43421
秀まるお2 さん 12/10/22 09:30
 
 もう少し増やすのは簡単に出来ます。

 デメリットとしては、メモリの使用量がちょっと増えるだけでして…。まぁ1
通辺り500バイトくらいまで増やしてもおおかた支障は無いと思います。1万通
受信して5メガバイト食うくらいになりますけども。

 具体的にどのくらいのサイズを見たいのか分からないのですが、とりあえず5
00バイト軽度にしてみます。

[ ]
RE:43421 【質問】GetLastRecvMailBodyTopNo.43422
HighB さん 12/10/22 10:42
 
 私個人の用途としては、500バイトで目的は達せられますが、勝手なこと
を申し上げますと、様々な用途がありうるものと思いますので、任意に設定
できるのが望ましいのかなとは思います。

 気長に修正版をお待ちします。

[ ]
RE:43422 【質問】GetLastRecvMailBodyTopNo.43425
秀まるお2 さん 12/10/22 13:53
 
 提案いただいた「任意に指定」ですが、たしかにそうした方がいいような気が
してきました。ただ、マクロから呼び出す関数用にまでオプション追加するのは
ちょっと気が引ける気がします。マクロから呼び出す関数の動作を決める物なの
で、取得するサイズを指示するのも関数にした方がいいように思います。

 ただ、その指示をするとしたら、受信開始前でないとダメです。

 例えば「送受信の開始直前」の所でマクロを自動起動してもらうようにして、
そこで取得サイズを指示する関数呼び出ししてもらうとか、そういう仕様にした
らいいのかなぁと思います。

 そういう仕様ってことでどうでしょうか。

 つまり、「マクロ登録・自動起動・送受信の開始直前」の所に、例えば

    loaddll "tkinfo.dll";
    #n = dllfunc("GetLastRecvMailBodyTop_SetSize", 500 );

 のようなマクロを登録しておくと、以後、受信したメールのメール本文先頭
500バイトがGetLastRecvMailBodyTop関数で取得出来るとか。

 そういう仕様の方がいいような気がしてきました。

 というのは、実は200バイトを500バイトにしても、もしかして1万通とかまと
めて受信したりなんかすると、それ用のメモリが50メガバイトとかになってし
まうので、あんまりよろしくないかなぁと思ったりしたからです。

 今さらですが、そういう仕様(やっぱり標準は200バイトまでで、上記マクロ
実行で拡張可能な仕様)でもいいですよね。

[ ]
RE:43425 【質問】GetLastRecvMailBodyTopNo.43427
秀まるお2 さん 12/10/22 15:26
 
>  というのは、実は200バイトを500バイトにしても、もしかして1万通とかまと
> めて受信したりなんかすると、それ用のメモリが50メガバイトとかになってし
> まうので、あんまりよろしくないかなぁと思ったりしたからです。

 すみません。1万通だと5メガバイト程度でした。

[ ]
RE:43425 【質問】GetLastRecvMailBodyTopNo.43429
HighB さん 12/10/22 16:17
 
 私が任意に指定と申し上げたときのイメージは、例えば、「全般的な設定」
→「上級者向け」→「動作の記録」の「記録ファイルのサイズが大きくなっ
たときは警告を出す」のところのように、全般的な設定のダイアログでサイ
ズを任意に決められるようにしておき、マクロで取得するサイズは、そこで
指定したサイズになる、というものでしたが、秀まるお2様に御提案いただい
た方法でも、こちらは全く問題ありません。

 宜しくお願いいたします。

HighB

[ ]
RE:43429 【質問】GetLastRecvMailBodyTopNo.43433
秀まるお2 さん 12/10/22 18:17
 
 とりあえずマクロから呼び出す関数でOKということで、そうさせていただきま
す。

[ ]