00169 99/02/20 03:05 RE:00168 グローバル変数の扱いについて
投稿者 : 範子   コメントを投稿する


> 例えば、以下のスクリプトを書いた場合、「call ERROR」ではち
>ゃんと"表示されますか?"と表示されるのですが、F1キーを押したと
>きに呼出される「keyassign f1, "ERROR", script, ERROR」では、
>文字無し""で表示されます。

ちょっとした勘違いというか、思いこみですね。
F1キーは、スクリプトが実行されて終了してから押してません?
当然、グローバル変数は消えてなくなってます。

永久的変数でも使うか、スクリプトを終了しないようにするとか。


00170 99/02/20 04:38 RE:00168 グローバル変数の扱いについて
投稿者 : かずや   コメントを投稿する

こんちわ(*^-^)/

>質問は、スクリプトでのグローバル変数の扱いなのですが、ファ
>ンクションキー(以下Fn)から呼出されたスクリプトでは、グローバ
>ル変数は見えない状態になってしまうのでしょうか?
範子さんが解答されていますが、まったくその通りです

σ(^-^)は、スクリプトは秀Termの補助機能ではなく
秀Termを利用した1つのソフトウェアだと考えています

だから、スクリプトを終了すると、当然グローバル変数も
ローカル変数も消えてしまいます
(永久変数だけは、秀Termが保存するので残っています)

Fキーにラベルを割り当てた場合、そのラベルからの
実行になります
変数の代入が 違うラベルにある場合は、callなどで
再読込する必要があります

C言語を知らないので #defineがどういうものか
分かりませんが、宣言を違うファイルにしたい場合は
適当に分かりやすいファイル名で作って callすればOKです
*.hsc(*.scr)じゃなくても、callで呼び出すと
スクリプトの延長として処理されます
(Fキーやツールバーのスクリプト実行でも同じ)

こんなもんで分かるでしょうか・・・(^-^;


新規に投稿する