Q31:作成したプログラムを実行すると、一部のPCでテーブルの設定がデフォルトに戻ってしまいます。
Q31-1:
PCの動作環境の違いによるものなのでしょうか?プログラムの問題なのでしょうか?
もし動作環境の違いによるものだとすれば、PCのどういった情報を確認、設定すればよろしいでしょうか?
現象
・テーブルの列幅、小数点以下の桁数、前景色の設定が戻ってしまう。
設定が戻ってしまうPC
・メインPC;DELL INSPIRON1501 解像度;1280X800
設定が戻らないPC
・サブPC(モバイル用);NEC LavieJ LJ500/3E 解像度;1024X768
MZはVer2.2で、各設定はビルダーの[実行(設定可)]ボタンから行い、プログラムの中には書いてません。
A31-1:
mzax(あるいはmzcx)形式のファイルをロードするとき、保存した属性が正しく反映されない場合があることは確認されています。mzas(あるいはmzcs)形式にて保存したファイルを用いると、この現象を回避できる場合があります。相手先のJavaのバージョンをご確認の上、お試しください。
さて、属性が正しく反映されない原因ですが、これはJavaの処理の問題と考えられます。ファイルロード時には、Java上で複数の処理が同時並列的に行われており、そのタイミングによって一度設定された属性がデフォルトの属性で更新されるという現象が発生するようです。この現象は、Javaのバージョン、PCの環境、アプリケーションファイルによって発生する場合としない場合とがあり、予測および対応を行えないのが現状です。
申し訳ございませんが、mzax形式とmzas形式を適宜使い分けることによってご対応くださいますようお願い申し上げます。
Q31-2:
先日の回答をもとに、いろいろ試した結果、MySQLを入れ替えたら解決しました。
以下は、試した内容です。
・mzasで試してもうまくいかない。
・NGのPCは、Ver5.0.45でrootにパスワード設定あり。
・OKのPCはVer4.0.13でrootにパスワードなし。
・NGのPCのVerを4.0.13に戻したらうまくいった。
(どうもデータベース画面のパスワード入力時にデフォルトに戻っている雰囲気。)
A31-2:
ご連絡頂いた内容から察するに、テーブルの表示属性がデフォルトに戻ってしまった直接の原因は、MySQLから読み込んできたテーブルデータの列型が違ってしまっていることと考えられます。
MZ Platformのテーブルは、テーブルデータが設定されたとき、列型が同じであればそのときの表示属性をそのまま使い、違っている場合にはデフォルト値が使われます。
テーブルの列型が変わってしまう原因については、MySQLやJDBCドライバのバージョン、アプリケーションの構成なども関係してくることですので、現時点では特定できません。とりあえず問題は解決しているということであれば、当面は様子を見ていただくということでお願いいたします。