Software Message Board
記事リスト新着記事ワード検索過去ログ管理用

タイトル 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を出したほうがよいでしょうか?


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)