[リストへもどる | 新着記事50件]
新着記事


タイトル各種 Script Module の更新
記事No4528   [関連記事]
投稿日: 2024/06/22(Sat) 22:19
投稿者TORO
Script Module の WSH版 R21+4、V8版 R3+5、QuickJS版 T6 を
公開しました。

PPx.StayMode の調整を主に行っています。

WSH版では Windows 9x で使用したときにエラー表示が
化けたりするときの調整を行っています。

V8版では PPx.CreateObject を使って作成したオブジェクトのうち、
即値では使えないプロパティ等があるのが判明したため、
マニュアルに記載しています。

QuickJS版では、Date オブジェクトを 32bit 版で使えない
ことをマニュアルに記載しています。原因が、QuickJS側に
あるようなのですが、make のパラメータ指定に失敗しているのか、
もともと Win32 上で使用できないのかが追い切れていません。
とりあえず、主な機能が使えますし、WSH 版もあるので、
原因究明は正式公開した後にゆっくり行うつもりです。


タイトルRe^5: 各種 Script Module の更新
記事No4527   [関連記事]
投稿日: 2024/06/19(Wed) 21:24
投稿者tm
> 確認してみたところ、関数名を直接指定する形式は、const / let の
> 関数を参照できないようです。このため、関数名を指定する場合は、
> var が必要になると記載することにします。
>
> 一方、*script ":10000",filename や *js ":10000","funcname()"
> の場合は、const / let が付いた関数でも使用できました。
> 尚、V8版は「":10000",filename」形式がバグで使えません。
>
> あと、現在気づいているバグとして、関数の呼び出しに失敗した
> ときの挙動がおかしいこと、ppx_finally の取り扱いがおかしい
> こと、再入対策に失敗していることが見つかっています。
>
>
>
> PPx.DirectoryType についてですが、パスの種類ではなく、
> エントリ一覧の取得に用いた種類になるため、aux: パスであっても
> 11 にはなりません。aux: かどうかの判定はパスの頭が aux: か
> どうかで判定してください。

StayMode用の関数はvarで宣言すると憶えておけば問題なさそうです。
aux: のほうも了解しました。


タイトルRe^4: 各種 Script Module の更新
記事No4526   [関連記事]
投稿日: 2024/06/18(Tue) 22:04
投稿者TORO
確認してみたところ、関数名を直接指定する形式は、const / let の
関数を参照できないようです。このため、関数名を指定する場合は、
var が必要になると記載することにします。

一方、*script ":10000",filename や *js ":10000","funcname()"
の場合は、const / let が付いた関数でも使用できました。
尚、V8版は「":10000",filename」形式がバグで使えません。

あと、現在気づいているバグとして、関数の呼び出しに失敗した
ときの挙動がおかしいこと、ppx_finally の取り扱いがおかしい
こと、再入対策に失敗していることが見つかっています。



PPx.DirectoryType についてですが、パスの種類ではなく、
エントリ一覧の取得に用いた種類になるため、aux: パスであっても
11 にはなりません。aux: かどうかの判定はパスの頭が aux: か
どうかで判定してください。


タイトルRe^3: 各種 Script Module の更新
記事No4525   [関連記事]
投稿日: 2024/06/16(Sun) 23:17
投稿者tm
> const / let がグローバルスコープという"ブロック"内のみ
> 有効であるとするなら、一旦グローバルスコープを抜けた後の
> 2度目以降の呼び出し時はアクセスできない、と扱われている
> 気がします。
>
> その場合は、var で定義したグローバルオブジェクトのみ
> アクセス可能という仕様になると思います。

なるほど。そういう理由ならconst/letが使えないのは納得です。

StayModeとは違うのですが、PPx.DirectoryTypeのaux:が(11)に
設定されていないような気がします。
FileSystem上のaux(1), ListFile上のaux(4)は以前と同じ値でした。
localとremote、aux内部コマンドからの実行なども試しましたが、
11を返す条件がわかりませんでした。
cab(61)は確認できました。

window10 64bit PPx197+1 WSH Script Moduleで確認しました。


タイトルRe^2: 各種 Script Module の更新
記事No4524   [関連記事]
投稿日: 2024/06/16(Sun) 22:13
投稿者TORO
1. については再現しました。次版で修正します。

2. についても再現しました。
あとで調べてみようと思いますが、現在は各モジュールの1度目の
実行完了時に、グローバルスコープを一旦抜けています。

const / let がグローバルスコープという"ブロック"内のみ
有効であるとするなら、一旦グローバルスコープを抜けた後の
2度目以降の呼び出し時はアクセスできない、と扱われている
気がします。

その場合は、var で定義したグローバルオブジェクトのみ
アクセス可能という仕様になると思います。


タイトルRe^2: タブグループ使用時のタブ切り替えの不具合
記事No4523   [関連記事]
投稿日: 2024/06/16(Sun) 22:04
投稿者elm
1.97+1 で修正されていることを確認しました。ありがとうございます。

少しタブグループを使用してみたところ他にも気になる挙動がありましたので、再現条件等を確認して後日報告いたします。


タイトルRe^2: PPx 1.97+1
記事No4522   [関連記事]
投稿日: 2024/06/16(Sun) 21:56
投稿者TORO
確かに %0 の間違いです。修正します。


タイトルRe: 各種 Script Module の更新
記事No4521   [関連記事]
投稿日: 2024/06/16(Sun) 11:36
投稿者tm
QuickJS ModuleのPPx.Executeの戻り値が0になっているのを
確認しました。修正ありがとうございます。

PPx.StayModeが更新されていたので少し試していて、いくつか
バグっぽいのを見つけたので報告します。

1. ppx_resume関数が設定されていないスクリプトに
PPx.StayMode=2を設定し、
*script hoge.js
*script hoge.js
のように、二度目以降の呼び出し時にメソッドを指定しないと
PPcが落ちます。標準とchakra.dllどちらでも発生しました。
CV8、QuickJSでもエラーが発生しますがこちらは落ちません。

2. 関数に"var"以外の変数宣言をしたとき、メソッドとして
認識されないようです。
var funcV = () => PPx.Echo('var') //認識される
const funcC = () => PPx.Echo('const') //認識されない
let funcL = () => PPx.Echo('let') //認識されない
こちらも各スクリプトモジュールで確認できました。


タイトルRe: PPx 1.97+1
記事No4520   [関連記事]
投稿日: 2024/06/16(Sun) 11:08
投稿者たろう
> PPx 1.97+1 を公開しました。
>
> ・指摘があった問題を色々修正しています。
> ・各種 Script Module の PPx.Entry.IndexFrom と ppx_finally 用の
>  調整を行っています。
> ・外部コマンドの実行結果をパラメータとして受け取る %*run を
>  追加しています。

ヘルプで今回追記されたところですが
(誤)各種コマンドは %1 (PPxディレクトリ)からの相対指定で指定する。
(正)各種コマンドは %0 (PPxディレクトリ)からの相対指定で指定する。
ではないでしょうか?


タイトル各種 Script Module の更新
記事No4519   [関連記事]
投稿日: 2024/06/15(Sat) 23:27
投稿者TORO
Script Module の WSH版 R21+3、V8版 R3+4、QuickJS版 T5 を
公開しました。

・PPx.Entry.IndexFrom() の追加に伴い、PPx.Pane.IndexFrom と
 PPx.Pane.Tab.IndexFrom をプロパティから関数に変更しています。
WSH版は プロパティ/メソッドのどちらでも使用できます。

・import の代用として使える PPx.Include を追加しています。
 import ではなくただの eval ですが、非モジュール時
 でも使用でき、エラー時に元の場所が分かるようになっています。

・PPx.CreateObject のイベント対応を強化しています。

・PPx.StayMode = 2 の常駐処理を用意しました。
 R11 で一旦無効化していた、以前の WSH 版とは挙動が違うため
 注意が必要です。

その他、色々調整を行っています。