作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
解決したとのことで安心いたしました。
ご連絡ありがとうございました。MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
ご連絡いただいたエラーメッセージから、やはりSSL証明書関連かと思われますが、より詳しく検証するために、差し支えなければお手数ですがエラーが発生した際のログファイルをお送りいただけないでしょうか。
ログファイルはMZ Platformインストールフォルダー下のlogフォルダー内にあり、ファイル名は「platform+ファイルが作られた日の英語曜日.log」(例えばPlatformWed.log)となっています。またログは2代前まで保存されています。また、MZ Platform4.0からは、SSLの信頼性検査を無効化する「disableSSLCertificateChecking()」というメソッドが設けられており、アプリケーション開始時にこのメソッドの実行を、お手数ですが一度お試しください。
何か対処法が分かりましたら、追ってご連絡いたします。
以上ご面倒をお掛けいたしますが、よろしくお願い申し上げます。MZPlatformユーザー会サイト管理者ファイルをお送りいただき有難うございます。
色々とご面倒をお掛けいたしまして、申し訳ございませんでした。ApachePOIが危険ファイルとして検出するファイル圧縮率の基準値をMZで設定できるように改修いたしましたので、以下をお試しください。
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
1)添付の「pfexcelaccs.jar」をMZPlatform\4.0\jarsフォルダに入れます。
2)MZPlatform\4.0\etcフォルダ内の『PlatformClassPath.ini』をメモ帳などで開き、パスを追加記述し、保存します。
例えば以下のような内容になります。
——————————
# MZ Platform ClassPath
jars/pfexcelaccs.jar
jars/mzextension.jar
jars/mzplatform.jar
・・・・
——————————
3)アプリケーションビルダーを再び立ち上げてください。4)EXCELファイル読み込みのアプリケーションファイルに新規メソッド「setMinInflateRatio(Double)」の処理を設定します。
アプリケーション開始時、あるいは適当なタイミングで上記メソッドを行う処理を設定し、引数にデフォルト値の「0.01」よりも小さい数値を設定します。セキュリティ上心配のないファイルのみを読み込むことが確実なら設定値は「0」でも可です。5)アプリケーションを実行してMinInflateRatioの設定が行われた後、アプリケーションファイルを保存します。一旦数値を設定した後は、設定値がアプリケーションファイル内に保存されるので、毎回処理を行う必要はありません。エクセルファイルの読み込みを行い、エラーが発生しないことを確認したら、「起動しない」モードに変更または処理を削除してしまっても結構です。
以上お試しいただき、状況が改善されない場合は、お手数ですが再度ご連絡頂ければ幸いです。
よろしくお願い申し上げます。- この返信は、 MZPlatformユーザー会 により、 2 ヶ月 前 に編集されました。
添付ファイル:
MZPlatformユーザー会サイト管理者解決までお時間を頂いており、申し訳ございません。
差し支えの無い範囲で結構ですので、元の雛形ファイル、数式などを設定してエクセルファイルアクセスで保存したファイル、それを一度開いて保存し直したファイルの3つをお送りいただけないでしょうか。機密情報が含まれている場合は、無理にお送りいただかなくても構いません。
[エクセルファイルアクセス]でファイル作成時にファイルの圧縮率が高くなってしまう要因が発見できればと考えております。大変お手数をお掛けいたしますが、どうぞよろしくお願い申し上げます。
MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
取り急ぎエラーメッセージの意味するところをご連絡いたします。
xlsx形式のエクセルファイルは、xmlファイルがZIP圧縮されたものとなります。
[エクセルファイルアクセス]で使用しているApachePOIでは、ファイルの圧縮率が基準値(1%)以上に大きいと、お知らせいただいたエラーが発生するようです。
圧縮率の高い小さいサイズのファイルを展開すると大きなファイルサイズとなり、メモリーなどに影響をあたえるため、セキュリティリスクに対する備えとしてこのような仕様になっています。改善方法については検討いたしますので、今少しお時間を頂ければ幸いです。
よろしくお願い申し上げます。MZPlatformユーザー会サイト管理者いつもお世話になっております。
お問い合わせありがとうございます。
[テーブルサブセットフィルター]にテーブルデータを設定し、メソッド「列データの文字列で行を選択する(String)」を実行します。引数0には検索したい文字列、引数1にテーブル列番号を設定します。
実行すると、該当する行が選択され、メソッド「選択対象行を取得する()」で選択行位置番号のリストが取得されます。メソッド「選択データを取得する()」の方では、選択された行のみのテーブル型データが取得されます。上記メソッドであいまい検索と同様の動きになりますが、もし条件を詳細に指定したい場合は、メソッド「列データの正規表現で行を選択する(String)」もお試しください。
動作確認のため、簡単なサンプルファイルを添付いたしますので、参考になれば幸いです。
*他のトピックへのご返信の形となっていたので、トピックを分割しました。
添付ファイル:
MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
MZ内で[パスワード入力フィールド]に入力した文字列が有効なパスワードと合っているか判定し、ダイアログを表示することは可能です。
[文字列格納変数]のメソッド「matches(String)」で変数に設定されている文字列と引数に設定した文字列とが一致するかどうか判定することができます。
true/falseのboolean値が返るので、[等価演算(=)]に設定し判定し、イベント番号で条件分けを行います。
動作確認のため、簡単なサンプルファイルを作成しましたので、ご参考になれば幸いです。ただし、ユーザーがローダーでなく、アプリケーションビルダーを使用し編集作業を行うことができるのであれば、特定のユーザーのみが編集できるという状況には当たらなくなってしまいます。
アプリケーションあるいは複合コンポーネントにパスワードを設定する場合はバイナリファイル形式(拡張子.mzas)で保存する必要があります。バイナリファイルはMZ Platformのバージョンアップの際には、Javaのバージョンに合わせて変換する等の作業が必要になります。
MZ Platformではなく、MySQLにユーザーとパスワードの追加を行い、それぞれユーザー権限を設定することも考えられますが、画面を分けるという意図からはずれるかもしれません。
ご検討頂き、ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。添付ファイル:
MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
チェックボックスの項目数の変更が頻繁に起こるのであれば、終了時にチェックボックスの項目を削除してしまい、起動時に[テーブル]の行数に合わせて項目を追加することが考えられます。
このとき使用するメソッドは「指定位置へ項目を追加する(int)」、「指定位置の項目を削除する(int)」です。
ただし、チェックボックスの0番目の項目は削除できませんので、注意が必要です。
添付のファイルでは追加、削除とも[繰り返し制御(FOR)]で行っていますが、0番目の項目の追加や削除を行わないので、引数や処理が少しだけ複雑になっています。ファイルをご覧いただき、ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡いただければ幸いです。よろしくお願い申し上げます。
添付ファイル:
MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
質問がございます。
[繰り返し制御(FOR)]のメソッド「繰り返し処理を実行する」の「終了値」および「終了値を含めるかどうか」の設定はどのようになっているでしょうか。例えば3つの項目がある場合、開始値を固定値「0」とし開始値を含めるかどうかを「true」、終了値は[チェックボックスグループ]の「項目数を取得」し、終了値は含めないように「false」とすると、位置番号「0,1,2」のチェックボックスの項目について繰り返し処理を行えることになります。位置番号は0から始まるので、項目数と位置番号は値が違います。
終了値を含めるかの設定をするためには、メソッド「繰り返し処理を実行する(int,boolean,int,boolean,int)」は5つ引数欄があるものをご使用ください。
繰り返し処理を行う都度項目数を取得するので、直前までの項目数の増減に対応します。
もし上記設定でもエラーとなるとすると、繰り返し処理のタイミングが適切でない、別なコンポーネントの項目数を誤って取得している等が考えられるかと思います。上記ご確認いただいても改善しない場合は、お手数ですが再度ご連絡いただければ幸いです。
よろしくお願い申し上げます。MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
個人的な意見になりますが、IDが一意に管理できるなら無理にauto_increment設定にする必要は無いですし、IDの代わりに他に一意になるデータ(例:社員番号、電話番号、データ追加日時)があれば、それを主キー列として扱うことも考えられるかと存じます。
金型履歴の複合コンポーネントが流用できるようでしたら、少し改修の必要も生じるかと思いますので、どうぞ今後とも疑問の点はご連絡いただければ幸いです。
-
著者投稿