Magic xpa4.6 キャッシュ範囲について教えてください。
現在、Magic xpa3.1 から xpa4.6へのシステム移行を行っています。
xpa3.1とxpa4.6で画面表示が異なった動作をするので、調査すると、
xpa3.1 キャッシュ範囲:なし
xps4.6 キャッシュ範囲:なし
では、メインテーブルを画面に一覧表示した場合、「PgUp」「PgDn]を押すと、xpa4.6では正しく
表示されない場合が確認されました。「キャッシュ範囲:位置」に変更すると正しく表示されます。
この動作はxpa 3.xでは同じ現象なので、xpa4.6から機能が変更になったのでしょうか?
-
一覧表示されている状態で、「PgUp]→「PgDn]→「PgUp」の順番でキーボード操作した場合、1行目は表示されますが、2行目から複数行表示されない状態です、ただし、2画面以上のデータがある場合は問題ありません。
よろしくお願いいたします。
-
タスクのタイプはオンラインです。
よろしくお願いいたします。
-
> この動作はxpa 3.xでは同じ現象なので、xpa4.6から機能が変更になったのでしょうか?
xpa 4.6で試してみましたが、xpa 3.xと同じように動作しましたよ。4.6はPT1が出ていますが、このパッチは当てていますか?
APGで単純なプログラムを作成して動作を比較・検証してみるというのもひとつの手ですよ。
-
4.6 PT1とはHotFixのことでしょうか?これであればパッチは当てています。
私の方もAPGで作成して確認したのですが、現象は同じでした。色々チェックしてみたら、テーブルコントロールの下辺位置の「N=最下行まで」を「R=最下行内」にすると表示が改善されました。
やはり、これは不具合ではないでしょうか?
-
> テーブルコントロールの下辺位置の「N=最下行まで」を「R=最下行内」にすると表示が改善されました。
私のところでは、デフォルトが「N=最下行まで」のままで普通に動作しています。ただ、ヘルプを見ますと、「R=最下行内」の設定がデフォルトであると書いてありますね。
ちなみに、私のところでは単純に1レコード1行のAPGでテストしているのですが、そちらではひょっとして1レコード複数行に渡るデータで検証されているのでしょうか?
-
私のテストでも単純に1レコード1行です
(APGで作成されてたままで、変更箇所はトランザクションモード=物理、キャッシュ範囲=なしです。)
下記の画面コピーですが、「PgUp」「PgDn」をおすと、途中の行が空白行で表示されます。
テーブルコントロールを「R=最下行内」に変更すると改善されます。



-
すみません、私のところでは何度試しても、そのような症状にはなりません。
ちなみに、上に貼り付けていただいた画像はAPGで作成しただけのデフォルトサイズとは異なるような気がするのですが。。。
-
上の画像には、テーブルのタイトルバーもありませんし。。。
APGで作成して、何も変更せずにデフォルトのままだけで試してみてください。
-
aoki 様
群馬のマジシャンです。よこから失礼します。
私の環境でも、aoki 様と同様の現象が発生しました。
物理トランザクション
xpa 4.6 HotFix適用済み
MS SQL 2017
確かに
> テーブルコントロールの下辺位置の「N=最下行まで」を「R=最下行内」にすると表示が改善されました。
を設定してみたところ、改善されました。
APGで一覧表示形式
データは、テーブルコントロールの明細数よりも少ない
・「N=最下行まで」の場合、
PageDownすると、最終明細行が、最上位(1行目)に表示され、その後PageUPすると、aoki 様と同様、途中の明細が消える(画面上)
同じAPGでテーブルコントロールの設定で
「R=最下行内」にすると、PageDownしても、画面表示は変わらない。
これって、
「N=最下行まで」で、データ数が少なかった場合の、画面再描画の障害なのでは??
-
レスが結構進んでいた・・・。
-




-
> データは、テーブルコントロールの明細数よりも少ない
この条件でも試してみましたが、私のところでは症状が出ませんでした。
第一に、データ件数がテーブルコントロールの明細行数より少ないときは、デフォルトでは縦スクロールバーは出ないはずです。
-
初期状態(F7):1枚目
PageDoun : 2枚目
PageUp:3枚目
4枚目は、3枚目の状態で、テーブルコントロール上の表示されていない明細行をクリックしたら、その行は表示されるようになった。
また、矢印キーで明細を上下移動すると、移動するごとに画面にデータが表示されますね。
サポートに報告かな・・・。
-
群馬のマジシャンさんの画面も、レコード件数がテーブルの高さより少ないにもかかわらず、縦スクロールバーが出ていますよね。これはデフォルト設定ではない動作のような気がします。
-
この現象は、「物理トランザクション」
「キャッシュ範囲=なし」
「N=最下行まで」
で発生する感じです。
私も、「「N=最下行まで」で、データ数が少なかった場合の、画面再描画の障害なのでは??」
と思いますが、tanda様、ISHIJIMA様、どう思われます??
-
デフォルトのAPGだと、レコード件数がテーブルの高さより少ない場合は、下図のように縦スクロールバーが出ないはずです。

-
tanda さん
> 第一に、データ件数がテーブルコントロールの明細行数より少ないときは、デフォルトでは縦スクロールバーは出ないはずです。
ですが、物理にするとデータ件数がテーブルコントロールの明細数内でも縦スクロールバーがでてきます。。。
テーブルリポジトリでのAPGでは、そんなことは無くて、プログラムリポジトリでAPGし、物理トランザクションにすると明細数がすくなくても、縦スクロールバーがでてしまいます。。
-
xpa 4.6では縦スクロールバーのつまみの位置と分量が実数に合わせた表示ができるという新機能が追加されていますので、お二人の環境では、どこかでその設定が影響しているのかもしれませんね。
インストールしただけの、まったくのデフォルト環境のxpa 4.6ではその症状は出ないみたいです。
何もコンバートしていないプロジェクトで試してみるのもひとつの手かもしれませんね。
-
「物理」にしてみましたが、レコード件数が少ない場合はスクロールバーは出ないです。下図参照です。

-
マイグレーションしてきた環境でした。
スクロールバーの表示は、デフォルトでYesになっていました。
純粋な? xpa 4.6 ででも試してみます。
-
> この現象は、「物理トランザクション」
> 「キャッシュ範囲=なし」
> 「N=最下行まで」
> で発生する感じです。
おっしゃる通りですね。上記の設定で再現しました(下図参照)。不具合なのか仕様なのかは現時点では分かりませんが、とりあえずその設定の組み合わせは要注意ですね。

-
tabda さん
よかった、ウチの環境が何かおかしかったのかと思いました・・・。
「N=最下行まで」は、あまり使わないのですが、注意ですね。
-
そうですね、とりあえず「N=最下行まで」を「R=最下行内」にすることで回避できますね。ヘルプではこちらがデフォルトになっているはずだと書いてあるのですが。。。
-
私の会社ではPKGの開発を行っていて、これ現象がほとんどのプログラムで発生しています。
PG修正するのは大変なので、MSJさんにも相談してみます。
色々ありがとうございました。
サインインしてコメントを残してください。
コメント
24件のコメント