テーブルとフォームの隙間について
フォームにテーブルコントロールを配置して、iOSで表示すると、
フォームとテーブルの隙間(テーブルの上の部分)が白く表示されます。
明細が多くある場合は上にスクロールすると消えますが、明細数が少ない場合、
白い部分が固定されてしまうので気になります。
隙間が表示されないような対応策がありましたら教えてください。
-
Springさん、
この問題は、Magic xpa 4.7.1 + iOS 15.xの組み合せの環境で起きるようです。
Magic xpa 4.7.1 + iOS 14.xの組み合せでは起こらないですし、
Magic xpa 4.8.1 + iOS 15.xの組み合せでも起こらないようです。つまり、iPhoneのノッチ機能に対応したiOSのバージョンがリリースされたときに、Magicの当時のバージョンがまだそれに対応していなくて、ノッチの面積の分だけズレてしまうという現象が現れたということですね。そのズレがxpa 4.8.1で修正されたということになりますね。
以上は、私の個人的な検証によるものです。
-
うちの「丹田寿司」も、Magic xpa 4.7.1 + iOS 15.x で表示させると、そうなってしまいます。

-
スクリーンモードは大丈夫のようです。

-
情報をありがとうございます。
現状、Magic xpa 4.6.1+ iOS 15.x を使っているのですが、
iOS 15.xに対応するにはMagic xpa 4.8.1にする必要があるのですね。
バージョンをあげるか検討してみます。
-
iPadでも少し空白行が入ってしまいますね。


-
ノッチのあるiPhone13でも試してみました。

-
magic xpa 4.8.1にアップしたのですが、SQLのエラーが出るようになってしまったので、
別途スレッド上げさせていただくかもしれません…
-
ISHIJIMA様
テクニカル情報のNo.2004258はSQL Serverに関する情報だったのですが、
こちらではOracleを使用しているので別の問題かと思います。
単体のマスタの照会画面は起動できるのですが、照会リンクで結合した照会画面を起動すると、
「SQLコマンドが正しく終了されていません。」のエラーが出てきてしまいます。
照会リンクの仕方が変わる等はないですよね?
-
4.6.1からアップして、4.6.1では問題ありませんでした。
2テーブルは結合しないとそれぞれ問題なく表示されます。
結合するとエラーになってしまいました。
-
Springさん、
リンクは「照会リンク」ですか、それとも「結合リンク」ですか?
-
Magic xpa 4.8.1 での実行画面です。タイトルバーの空白行が正常に表示されています。

-
iPadでの動作も完璧ですね。下記はiPad Air(第5世代)での実行です。

-
横にしても問題ないです。

-
Magic xpa 4.8.1に添付のiOSプロジェクトは起動がめちゃくちゃ早いですね。スプラッシュ画像の表示が一瞬で終わります。
-
弊社のサンプルプログラムである、「Magic バーコード読み取りライブラリ for iOS」のデータ一覧表示も正常に表示されるようになりました。

-
tanda様
4.8.1での動作確認ありがとうございます。
こちらで使用しているのは照会リンクです。
Magic xpa 4.6.1とMagic xpa 4.8.1で環境が共存しているとうまくいかないのでしょうか。
-
4.8.1のほうのデータベーステーブルの記述は確認されましたか?
-
SQLが間違っているというエラーなのですが
結合リンクを使ったときに発行されるSQLがおかしいっていう話なんでしょうか、
なかなか怖い現象ですね・・たとえば、SQLコマンドでしたら
ORDER BYや複問い合わせのの入ったSQLは結果データベースにより
実行されるSQLが崩れる不具合が昔からあったりしますが・・
どちらにせよロギングYESにしてアクティビティモニタで
流れているSQLを確認された方がよいかと思います。
結合リンクだとEXECUTE > SELECT COLA01,COLB01 FROM TBL1 A , TBL2 B WHERE A.COL = B.COL みたいなSQLが発行されているのでそれをそのままSQLPLUSとかで実行してみてはいかがでしょうか。 -
4.6.1と4.8.1を共存させているとなると、Windowsのサービスで稼働している4.6.1のMRBが、Oracleのテーブルを掴んでしまっていて、それが何らかの原因で4.8.1側にエラーを引き起こしているということはないですか?4.6.1のMRBサービスを明示的に停止して、試してみてはいかがでしょうか?
-
4.6.1のMRBサービスを明示的に停止して、試してみてはいかがでしょうか?
→両方起動しているとセッションエラーが出るので、4.6.1の方は止めています。
4.6.1が入っていない環境に4.8.1をインストールしてみたのですが、データベースの設定画面でDBMSの選択肢にOracleが出てこず、詰まっています。Oracle Databaseが入っている環境で、インストール時にOracleゲートウェイを選択しており、Magic.iniでMGOracle.dllのパスの記述の箇所がコメントインになっていることも確認済です。インストールし直しもしてみたのですが、変わらずです。
質問を重ねてしまい申し訳ないのですが、原因がわかる方いらっしゃいますか。
-
今気づいたんですが32bitのOracleクライアントモジュールを入れる必要がありそうですね。
-
ISHIJIMA様
4.8.1の環境で照会リンクをしないメインテーブルのみの
オラクルを使用する画面は問題なく表示されるという事でしょうか
→はい、問題なく表示されます。
-
Springさん、
DBMSテーブルもデータベーステーブルも、Magic.iniの記述を参照しているだけですので、Magicの画面に出てこないようでしたら、Magic.iniの記述を確認してみてください。
例えば、古いバージョンのMagicのMagic.iniを使い回ししたりとかしていると、思わぬところで欠けていることがあります。
-
4.6から4.8にアップした環境のログを見ると、
SELECT文の最後に「FETCH FIRST ROW ONLY」というのがついていて、これがついていると
確かにDBツールで流してみると「SQLコマンドが正しく終了されていません。」と表示されます。
この記述がつく原因は何でしょうか…
-
すみません、「FETCH FIRST ROW ONLY」は問題ありませんでした。
べつのデータベースを見ていました。
-
Springさん、
> SELECT文の最後に「FETCH FIRST ROW ONLY」というのがついていて、
確認ですが、この「SELECT文」というのは、「SQLコマンド」ですか、それとも「照会リンク」ですか?Magicにはいろいろな形式のSQL文の発行の仕方がありますので、確認させてください。
-
Magicには、「SQLコマンド」でSQL文を直接記述しなくても、Magicオリジナルのコマンドを記述すると、裏で自動的に適切なSQL文が発行される機能があります。例えば、「結合リンク」コマンドとか、「照会リンク」コマンドとかです。
-
FETCH FIRST 件数 ROW ONLY はOracle12gあたりからの新機能なので
データベースのバージョン違いとかはないのでしょうか?
データビューのインデックスのヒントに入れてたりとかしないのでしょうか。。
oracleのゲートウェイが勝手につけてきてるならかなり怖いんですが・・・ -
vg様
4.6から4.8にあげた環境ではもともとOracle11Gに接続してたのですが、
Oracle12Cに接続したら問題なく動いたので、まさにOracleバージョンの問題だったようです。
APGで作成した照会画面に照会リンクをつけただけなのですが、どこかに「FETCH FIRST ROW ONLY」がつくような設定が初期設定で入るんですかね…
-
ISHIJIMA様
リファレンスマニュアルというのはデスクトップの「Magic xpa 4.8 Enterprise Studio」フォルダ内の
「Magic xpa のヘルプ(chm)」とは別の資料ですか?
上記資料ですと検索にヒットしないのですが。
→失礼しました。「検索」欄で検索してヒットしました。バッチタスクの設定欄の話のようなので、今回作成した照会画面は関係なさそうです。
サインインしてコメントを残してください。
コメント
36件のコメント