TTLコマンドstrremoveで隣の文字列変数が破壊される
strremoveによる文字列変数操作で 例として 130バイト文字列の最後尾1文字を削除させると 操作対象文字列の次に宣言された文字列の先頭が書き換えられてしまう。
;-------------------------------------- STR1="" STR2="1234567890" ;-------------------------------------- BORDER=128 ;str1_len=BORDER+0 ;OK ;str1_len=BORDER+1 ;(OK) str1_len=BORDER+2 ;NG ;------------------- for i 1 str1_len strconcat STR1 "X" next ;-------------------------------------- messagebox STR2 'before strremove' ;1234567890 strremove STR1 str1_len 1 messagebox STR2 'after strremove' ;2334567890 ;--------------------------------------
以下に修正したアーカイブを置いたので、試してもらえますでしょうか?
http://ttssh2.sourceforge.jp/snapshot/snapshot-20110317_2.zip
問題の動作が修正されたことを確認いたしました。 ご対応ありがとうございました。
動作確認ありがとうございました。 本件、クローズします。
strremoveによる文字列変数操作で
例として
130バイト文字列の最後尾1文字を削除させると
操作対象文字列の次に宣言された文字列の先頭が書き換えられてしまう。