Q17:プログラムをロード時にエラーが出るようになりました。
Q17-1:
MZプラットフォームプログラムをロード時にエラーが出るようになりました。
プログラムの編集は、「○○○.mzax」ファイルを使って、登録時に「保存」ボタンを使って「○○○.mzax」と「○○○.mzas」に反映されるようにしています。
ところが、編集後、上記手順で保存したところ「○○○.mzax」をロードする際に「ロードエラー」が出るようになり、編集できない状況になりました。
この現象は最近、結構、出るような気がします。原因は何が考えられるのでしょうか。また、回避方法はありますでしょうか。
A17-1:
一つの可能性としては、アプリケーション編集作業途中や実行中に保存ボタンを押した時に上手く保存されず、ロードエラーになる場合があります。
他の原因である場合も考えられますので、もし差支えなければ、ロードエラーが生じる.mzaxファイルをお送り頂けないでしょうか。
ファイルサイズが非常に大きかったり、外部に出せない情報が含まれているなどの場合には、.mzaxファイルの代わりに\MZPlatform\2.4\logフォルダ内のログファイルをお送り下さい。
(ログファイル名はPlatform+曜日(PlatformMon.log)という形式になっています)
Q17-2:
添付のとおり、ロードエラーが発生しているプログラムをお送りします。念の為、「.mzas」タイプも添付いたします。
A17-2:
ファイルをお送り頂き、お手数をお掛け致しました。
ID:5の[日付入力フィールド]の表示書式に「yyyy/MM/nn」が設定されているのが原因と考えられます。
書式を「yyyy/MM/dd」に変更したアプリケーションデータをお送りいたしますので、どうぞご確認下さい。
今回のエラーは[日付入力フィールド]、「日付モード:その他」で日付書式が一度でも設定してあると、他のモードを選択して保存してもロード時にモードが「その他」になってしまうという、XML入力時のバグが一因となっています。
大変ご面倒をお掛けし、申し訳ございません。
このバグは次期バージョンMZPlatform2.5では修正されており、表示フォーマットに誤りがあっても、ロードされます。
ver2.4で[日付入力フィールド]に設定した表示書式が不要になった場合には、「その他」以外のモードを選択した後、「コンポーネント属性情報」の「Pattern」欄の「NULL」をチェックし書式を消去して頂ければ、再ロードの際モードは「その他」に変わりません。
ご連絡
先日、表題の内容でサポートを受けていました件については、お陰様で解決できました。
アドバイスをいただいたとおり、logファイル(正直どのlogを見ればいいか不明でしたが)を確認したところ、「プログラムへのアクセス拒否」という内容の状態でした。
調査したところ以下のことがわかりました。
●調査で判ったこと
・共有しているフォルダは、「読み込み専用」で更に「コピー禁止」の設定になっている。
・たまにアクセス制限を掛けていないのに、パスワードを聞いてきたり共有フォルダ自体が開けなかったりする。
・現在、共有しているフォルダがある階層(場所)で、別に新しい共有フォルダを作成し、ネット上で公開をしてもクライアント側から、そのフォルダに対して、正常にアクセスできない。
※接続拒否をされる。
●対策
別のドライブに共有したいフォルダを作成、そのフォルダをネット上で共有できるように設定した。(読み込み専用で設定)
(検証)
以上の方法で作成した共有フォルダには、クライアント側から何も問題無く接続できた。
●MZPFプログラムの動作検証
対策で作成した共有フォルダで、MZPFプログラムを動作させた結果、何も問題無く動作した。
エラーが出ていたプログラムも、正常に動作した。
また、クライアント側で接続パスワード要求をしていたパソコンでも要求事項無しで、正常に接続できるようになり、また動作もできた。
※サーバー機は変わっていないが、何故か共有フォルダの保存先を替えて共有した結果、以前と違い動作も速くなった。
●考察
何らかの原因(未だ真の原因は不明:設定上の)で、共有しているフォルダが不安定(利用できたり、拒否したり)な為に、エラーが出たと考えられます。
ただ、動作できるプログラムと動作できないプログラムが同じ場所に保管しているのに何故かは、原因不明です。
何かファイル単位で、許可と拒否をしているような気もします。
以上、解決に至った内容をメールで報告いたします。