スクリプトが止まってしまうNo.02189
SIZ さん 03/10/01 11:10
 
 お久しぶりです。6月にお世話になりましたSIZです。
 おかげさまで、異常終了する件は今の所発生していません。本当に
ありがとうございました。
 ところで、今回は別(?)の事象が発生しましたので、報告したい
と思います。


 下記の様なスクリプトを組むと、スクリプトの処理が途中で止まっ
てしまいます。

 1.サブスクリプトを CALL する
 2.CALL 先で、1行が1024バイト以上のテキストを READFILE する
 3.CALL 先から、3つ目のサブスクリプトを CALL する
 4.3つ目のサブスクリプトから RETURN すると、止まってしまう

 スクリプトの状態を見ると、待機中のスクリプトとして残ったまま
となってしまいます。一時的変数等も残ったままとなります。


 また、1行が1025バイト以上のテキストを連続で READFILE すると、
1回目で1023バイト目まで読込み、2回目は1025バイト目から読込ま
れる(1024バイト目が欠けてしまう)、という状態となってしまいま
す。


 秀Termでは変数として1023バイトまでしか扱えない、という事は分
かっていますが、使用目的上、1行の文字数を制限することが出来ま
せん。

 使用OSはXP Professional SP1、秀TermのバージョンはEvo.4.48です。
 お忙しい事とは思いますが、上記2件について何かしらの対応方法
があれば、教えて頂けないでしょうか?
 よろしくお願いします。

[ ]
RE:02189 スクリプトが止まってしまうNo.02190
秀まるお2 さん 03/10/01 18:53
 
 仕様上の不都合もあるし、文字列の長さがオーバーした時におかしくなるバグ
もあるんだと思います。

 仕様上の不都合を直す方を優先して、とりあえず、文字列の長さ制限を2000文
字程度にしたいと思いますが、それで足りるでしょうか?

[ ]
RE:02190 スクリプトが止まってしまうNo.02191
SIZ さん 03/10/02 19:04
 
> 仕様上の不都合を直す方を優先して、とりあえず、文字列の長さ制限を2000文
>字程度にしたいと思いますが、それで足りるでしょうか?

 申し訳ありません。テキストを入力するのが別の人のため、どの程度あれ
ば良い、とはっきり言うことができません。

 今の所、ホスト接続前の前処理としてテキスト読込を行っており、「ホス
トと接続すると一旦実行中マクロは全て終了する」という秀Termの仕様
のおかげで、こちらとしては通常の動きの中ではめったに発生する事は無い
と思っています。
 ですので、もし修正して頂けるのであれば、そちらの余裕がある時でかま
いませんので根本原因を修正して頂ければ、と思っています。

[ ]
RE:02191 スクリプトが止まってしまうNo.02192
秀まるお2 さん 03/10/02 19:17
 
 途中の文字が抜けてしまうバグは直しようがあるんですが、そもそもreadfile
文は1行単位で読み込む仕様なので、改行以外の所で区切って読み込んでしまう
と、それはそれで都合が悪いと思います。

 普通、readfileしてたらそれをsend文で送信すると思いますが、readfile文は
改行を除去して読み込むので、send文する時は改行を付けて送信すると思います。
readfile文が改行以外の所で区切ってしまったら、途中に余計な改行が入った形
で送信されてしまいます。

 ということで、やはり制限をなんとか拡張するしか無いと思います。もちろん
1文字抜けてしまうバグはバグで直さないといけないですけど。

 readfile文の終了コードに、「bufferover」のような値を追加するといいかも
しれませんが…。

 ソースコードを見直していろいろ検討してみます。

[ ]
RE:02192 スクリプトが止まってしまうNo.02193
秀まるお2 さん 03/10/06 17:05
 
 秀Term V4.49を先ほどアップロードしました。

 V4.49にて、文字列変数の長さ制限が4キロバイトに拡張されています。さら
に、readfile文で1行全部が読み込めなかった場合は、timeoutという終了コー
ドを返すようにしました。

 スクリプト・ヘルプのreadfile文の説明の所にサンプルスクリプトが載ってま
すので、そのようなスクリプトを作れば正しくファイルをアップロードできるは
ずです。

 ということでよろしくお願いします。

[ ]
RE:02193 スクリプトが止まってしまうNo.02194
SIZ さん 03/10/07 08:15
 
 修正して頂き、ありがとうございました。
 早速試してみたいと思います。

[ ]
RE:02194 スクリプトが止まってしまうNo.02195
SIZ さん 03/10/07 18:30
 
 V4.49のテストをしましたが、今の所、修正して頂いた部分に関しては問題
無く動作していると思います。

 修正対応をお願いするつもりは無く、参考までに留めておいて頂いてかま
わないのですが、V4.49のスクリプトのヘルプを使用時、目次から「関数に
ついて」を選択すると、「このトピックは存在しません...」と表示されて
しまいます。キーワードから選択した場合は、通常通りに表示されるようで
す。
 また、質問なのですが、今回のように長いテキストを扱った場合、たまた
ま一度に扱えるバイト数(今回は4キロ)の切れ目に全角文字が来てしまっ
た場合は、変数内では1バイトずつに分かれてしまうようですが、仕様の範
囲なのでしょうか?

 色々と書き加えましたが、今回の件の早期対応ありがとうございました。

[ ]
RE:02195 スクリプトが止まってしまうNo.02196
秀まるお2 さん 03/10/07 19:09
 
> V4.49のスクリプトのヘルプを使用時、目次から「関数に
> ついて」を選択すると、「このトピックは存在しません...」と表示されて
> しまいます。

 これはヘルプの修正ミスのようです。ご指摘いただきありがとうございます。
さっそく直します。

>  また、質問なのですが、今回のように長いテキストを扱った場合、たまた
> ま一度に扱えるバイト数(今回は4キロ)の切れ目に全角文字が来てしまっ
> た場合は、変数内では1バイトずつに分かれてしまうようですが、仕様の範
> 囲なのでしょうか?

 これはこれで仕様のつもりですが、都合が悪いようでしたら、漢字を切らない
ように修正することも簡単に出来ます。

 ヘルプの修正ミスがあるのでどっちみちもう一回バージョンアップが必要です。

 どうしましょ?

[ ]
RE:02196 スクリプトが止まってしまうNo.02197
SIZ さん 03/10/08 09:02
 
> これはこれで仕様のつもりですが、都合が悪いようでしたら、漢字を切らない
>ように修正することも簡単に出来ます。
>
> ヘルプの修正ミスがあるのでどっちみちもう一回バージョンアップが必要です。
>
> どうしましょ?

 簡単に修正可能、という事であれば、修正して頂けるとありがたいです。
 お手数かと思いますが、よろしくお願いします。

[ ]
RE:02197 スクリプトが止まってしまうNo.02198
Iranoan さん 03/10/08 12:40
 
 秀まるおさん今日は、Iranoan です。
> > ヘルプの修正ミスがあるのでどっちみちもう一回バージョンアップが必要です。
 今回でなくても良いですが、秀Term からも HmJre.dll が使用できると有り
難いです。

[ ]
RE:02198 スクリプトが止まってしまうNo.02199
秀まるお2 さん 03/10/14 18:55
 
>  今回でなくても良いですが、秀Term からも HmJre.dll が使用できると有り
> 難いです。

 とりあえずバグ修正や最低限必要な修正以外はあまりいじりたくないです。

 っと言ってる間に、V4.50をアップロードしました。単にヘルプのコンパイル
ミスと、readfile文での2バイト文字を途中で切らないように修正しただけです。

[ ]
RE:02199 スクリプトが止まってしまうNo.02200
Iranoan さん 03/10/14 19:18
 
 秀まるおさん今日は、Iranoan です。
>  とりあえずバグ修正や最低限必要な修正以外はあまりいじりたくないです。
 そうですか、残念ですが、これからターミナル・ソフトウェアは全般的に先
細りと思われるので致し方ないですね。

[ ]
RE:02200 スクリプトが止まってしまうNo.02201
SIZ さん 03/10/15 19:46
 
 今日は、SIZです。
 色々と修正して頂いて、ありがとうございました。また試してみた
いと思います。

> そうですか、残念ですが、これからターミナル・ソフトウェアは全般的に先
>細りと思われるので致し方ないですね。
 そうなんですよね。この手のソフトは、今では中々ない & あって
も古いため、OSが対応していない という事が多くなってしまった
ので、困るんですよね。

[ ]
RE:02201 スクリプトが止まってしまうNo.02202
たけのこ さん 03/10/16 13:30
 
たけのこです。

// 横道なんですけど……

> > そうですか、残念ですが、これからターミナル・ソフトウェアは全般的に先
> >細りと思われるので致し方ないですね。
>  そうなんですよね。この手のソフトは、今では中々ない & あって
> も古い

そうですか?
サーバOSとしてLinuxがこれだけ注目を集めているので、ターミナルエミュレー
タは、結構使用頻度が高いですが……ウチらの業界だけかしら? エディタと同
じで結構派閥あったりで(笑)てら・ひで・えむ……

ルータも、ホームルータが各社から色々出ていますし。ウェブI/Fで各種設定が
行えるとは云っても、やはりtelnetでつないで云々の方が細かな設定できたりし
ますし、細かな内容を確認できたりしますし。

(^^)/”

[ ]
RE:02202 ターミナル・エミュレータNo.02203
Iranoan さん 03/10/16 17:46
 
 たけのこさん今日は、Iranoan です。
> サーバOSとしてLinuxがこれだけ注目を集めているので、ターミナルエミュレー
> タは、結構使用頻度が高いですが……ウチらの業界だけかしら? エディタと同
> じで結構派閥あったりで(笑)てら・ひで・えむ……
 確かに UNIX 系の OS とやり取りが必要な人には必須のソフトウェアです。
しかしコンピュータを使っている人全体から考えると、パイが小さいし、もう
使い手には行き当たっている気がします。
 更に元々パソコン通信の自動巡回を念頭に置いた秀Term は、純粋なターミ
ナル・エミュレータとしては使いにくい部分があります。また (ターミナル・
エミュレータとして) 致命的なのは、ssh には対応していないことです。
 ##遠隔地では特に、telnet は怖すぎ。

 そんなわけで私は、今 (ターミナル・エミュレータの) メインには putty
を使っています。使い勝手は TeraTerm が最もよいんだけど、ssh1 は兎も角
どうやっても ssh2 には対応させられないので(;_;)。
 そして秀Tem は telnet にしか対応していないサイトの自動巡回専用として
使っています(^^)。

 ここの会議室は静かだし、雑談に花を咲かせている Iranoan でした。

[ ]
RE:02203 ターミナル・エミュレータNo.02204
Arimac さん 03/10/17 12:09
 
雑談ついでに・・・(^^;
今は開発中のファームウェアのデバッグ出力に使っています(^^;
ハイパーターミナルは使い物にならないので(^^;

[ ]