DLL 関数の文字列制限No.00891
ひろ さん 01/04/13 23:18
 
 秀まるおさん今日は、ひろです。
 tkinfo.dll の DLL 関数について質問があります。確認したのは、
CountEmailList だけのなのですが、DLL 関数の引数として扱える文字数は、
マクロの文字変数 $str or $$str の制限 8000 バイト程度 (実際には
8192?) よりずっと小さく1023 (最後の NULL 文字を入れて 1024) 文字では
ありませんか?

 ここまでは質問であとは要望なのですが、DLL 関数の引数で渡せる文字数
をマクロの文字列変数の 8000 バイト程度まで増やして頂けないでしょうか?
採用していただく場合、幾つか文字列を引数に持つ関数がありますが、実際
の運用を考慮すると ToUpper, ToLower, CountEmailList, DecodeHeader,
SetHeader, AddHeade を変更して頂くだけで十分かと思います。

 ##公開しているマクロでユーザからの指摘で初めて気付いた(^^;。

[ ]
RE:00891 DLL 関数の文字列制限No.00914
秀まるお2 さん 01/04/14 15:52
 
> CountEmailList だけのなのですが、DLL 関数の引数として扱える文字数は、
> マクロの文字変数 $str or $$str の制限 8000 バイト程度 (実際には
> 8192?) よりずっと小さく1023 (最後の NULL 文字を入れて 1024) 文字では
> ありませんか?

 たしかにそうなっています。そもそも、秀丸エディタの文字列変数が1024バイ
トまでだと思っていたのでそうしたんですけど、8192バイトまでOKなら819
2バイトまで拡張すべきです。

 ということで修正させていただきます。

[ ]
RE:00914 DLL 関数の文字列制限No.00921
ひろ さん 01/04/14 16:38
 
 秀まるおさん今日は、ひろです。
>  たしかにそうなっています。そもそも、秀丸エディタの文字列変数が1024バイ
> トまでだと思っていたのでそうしたんですけど、8192バイトまでOKなら819
> 2バイトまで拡張すべきです。
 ご報告いただいた方の場合、1159 バイトだったので、実際に 8192 バイ
トもの長い文字列を使うかどうかは不明ですが、秀丸のマクロヘルプには
> 文字列型変数の扱える文字列は,長さが8000バイト程度までのものなら自
> 由な内容を記憶することができます。
とありますので、秀まるおさんの知らないうちに、秀丸担当さんが拡張して
くれたのやら(^^)。

>  ということで修正させていただきます。
 よろしくお願いします。

[ ]