タイトル | : PPx.Entry.AllMarkとPPx.StayModeについて |
投稿日 | : 2024/08/03(Sat) 12:46 |
投稿者 | : tm |
1. PPx.Entry.AllEntry/AllMarkにはReset()メソッドが用意されて
いますが、AllMarkに対してReset()を実行したときにおかしな挙動
になります。
以下のようなコードを実行したときにentry.Nameは"."を返します。
また無限ループのような状態になっているのか動作不能に陥ります。
//!*script
const entry = PPx.Entry.AllMark;
/** 実際にはここで一度ループ処理 */
entry.Reset();
PPx.Echo(entry.Name);
for (;!entry.atEnd();entry.moveNext()) {
/** ここは実行されない */
}
windows10 64bit chakra.dllで確認しました。
2. 一行編集上で使用したStayModeインスタンスの破棄はどのような
方法が望ましいでしょうか?
いまはワンショットのKC_main:ACTIVEEVENTで処理していますが、
エラーなどで、インスタンスが破棄されたときにACTIVEEVENTが
ループして困ることがありました。
ACTIVEEVENTを使わない方法があるならよいのですが。
具体的には以下のような状況です。
(1) 何らかの継続処理の非同期スクリプトA実行中
(2) 一行編集を起動。スクリプトBのStayModeインスタンス常駐
インスタンス破棄用ACTIVEEVENTを設定
このタイミングでスクリプトAのエラーが発生し、PPcが落ちる
(3) PPc再起動。ACTIVEEVENTがループ
誤字報告です。
PPXSCR.TXT "常駐時の挙動について"内
StayMode が StarMode になっています。
追記
簡単な誤字報告などはgithubにPRを出したほうがよいでしょうか?