フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
ご連絡ありがとうございます。
最新版のMZ Platform4.0の推奨動作環境が「BellSoft OpenJDK VM 25.372-b07 (JRE8u372)」となっており、ご使用いただいているJDKのバージョンが合わないのが一因かと推測しております。
大変ご面倒をお掛けいたしますが、一度LibericaJDK8
https://bell-sw.com/pages/downloads/#jdk-8-lts
をダウンロードしてお試しいただけないでしょうか。
手元で確認した限りでは、MZ Platform3.6_64と4.0どちらのバージョンでも動作しました。また、コンパイル用バッチファイル中に
「%JAVA_HOME% bin javac -source 1.4 -classpath
C:¥MZPlatform\3.6\jars\mzplatform.jar -d class src\samples\Sound.java」
と記述変更する箇所がありますが、ここで「-source 1.4」 を付けたままだとエラーが発生します。「-source 1.4」 は付けずに記述してください。
また -classpathも3.6_64あるいは4.0に変更して問題ありません。以上お試しいただいても改善されない場合は、再度ご連絡いただければ幸いです。
なお、コンポーネントが作成されビルダー上に追加の際、名前が見つからない場合は[クラス名指定…]で追加できることが多いのでお試しください。
大変お手数をお掛けして申し訳ございませんが、どうぞよろしくお願い申し上げます。
MZPlatformユーザー会キーマスターご連絡ありがとうございます。
まず、[外部プログラム通信]のメソッド「標準のアプリケーションでファイルを開く(File)」の引数にフォルダまでのパスを指定すれば、自動的にファイルエクスプローラーでフォルダを開けるかと思います。参考にしていただいた掲示板の記述は旧バージョンでの処理となっており、お手数をお掛けいたしました。
[ファイル]コンポーネントでフォルダー名を設定し、その直下または配下にあるフォルダまでのパスのリストを取得することができます。
ただ、該当のフォルダまでのパスに数字を含む階層名がある場合も想定して、添付のファイルでは「getSubDirectoryNodeList()」を使っています。ツリーノード取得機能のメソッドですが、指定した階層直下のフォルダ名だけをリスト形式で取得できます。ID名で部分一致の検索をするには、メソッド「matches(String)」または「startsWith(String)」を使用します。
これらのメソッドは[リスト格納変数]には無いので、要素を取出し[文字列格納変数]に入れ、繰り返し処理を行います。
「startsWith(String)」は対象の文字列の最初の部分が指定した文字列と一致するか結果が「true」か「false」かで返ります。開きたいフォルダの名前が必ずIDから始まる場合はこちらでも良いと思います。
「matches(String)」は引数に正規表現を使用できます。例えば「.*ID.*」のように指定すれば、IDが文字列のどの位置にあっても該当します。
ただし、どちらのメソッドも部分一致であるため、MZPlatformフォルダ名を例に取ると、例えば「startsWith(String)」の引数は「4.0」、「matches(String)」の引数は「.*4.0.*」と指定した場合、「4.0」、「4.0_36」のフォルダ名両方が該当することになります。以上思ったより処理が長くなりましたので、検証のため別ファイルを作成しています。
ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。添付ファイル:
MZPlatformユーザー会キーマスターご連絡ありがとうございます。
大変申し訳ございませんが、この掲示板ではアップロードできるファイルのタイプが画像のみとなっており、他のタイプのファイルだとエラーになるようです。
お手数をお掛けいたしますが、ZIPファイルなどに纏めて再アップロードしていただけないでしょうか。
どうぞよろしくお願い申し上げます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
恐らく2番目の引数のデータ型を指定して頂いたときに、「java.lang.integer」で指定したためエラーとなっていると思われます。データ型の欄には「int」で設定してください。
数値型と論理型などは「int」、「float」、「boolean」等の短い型名表現を使用し、その他の型はクラス名を使用します(例:日付型「java.util.date」)。文字列型だけは「String」でもクラス名でもどちらも使用できます。
コンポーネントリファレンスに記述してあるものの大変見つけにくく、ご面倒をお掛けし申し訳ございません。確認のため、簡単にサンプルファイルを作成しましたので、ご覧ください。
ご不明な点がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。添付ファイル:
MZPlatformユーザー会キーマスターご連絡ありがとうございます。
ご参考にしていただいたサンプルは「AND検索」=2つ以上の検索条件を指定したいというご要望に沿ったものかと思います。このため、絞り込み対象のデータを「2回」[テーブルサブセットフィルタ]に設定しています。
しかし、条件が1つだけの場合は[テーブルサブセットフィルタ]への全体データの設定は最初だけで結構です。大変お手数をお掛けいたしました。
お送りいただいたファイルへコメントを付けましたので、ご参考になれば幸いです。添付ファイル:
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の設定が行われた後、アプリケーションファイルを保存します。一旦数値を設定した後は、設定値がアプリケーションファイル内に保存されるので、毎回処理を行う必要はありません。エクセルファイルの読み込みを行い、エラーが発生しないことを確認したら、「起動しない」モードに変更または処理を削除してしまっても結構です。
以上お試しいただき、状況が改善されない場合は、お手数ですが再度ご連絡頂ければ幸いです。
よろしくお願い申し上げます。- この返信は3ヶ月、 1週前にMZPlatformユーザー会が編集しました。
添付ファイル:
MZPlatformユーザー会キーマスター解決までお時間を頂いており、申し訳ございません。
差し支えの無い範囲で結構ですので、元の雛形ファイル、数式などを設定してエクセルファイルアクセスで保存したファイル、それを一度開いて保存し直したファイルの3つをお送りいただけないでしょうか。機密情報が含まれている場合は、無理にお送りいただかなくても構いません。
[エクセルファイルアクセス]でファイル作成時にファイルの圧縮率が高くなってしまう要因が発見できればと考えております。大変お手数をお掛けいたしますが、どうぞよろしくお願い申し上げます。
MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
取り急ぎエラーメッセージの意味するところをご連絡いたします。
xlsx形式のエクセルファイルは、xmlファイルがZIP圧縮されたものとなります。
[エクセルファイルアクセス]で使用しているApachePOIでは、ファイルの圧縮率が基準値(1%)以上に大きいと、お知らせいただいたエラーが発生するようです。
圧縮率の高い小さいサイズのファイルを展開すると大きなファイルサイズとなり、メモリーなどに影響をあたえるため、セキュリティリスクに対する備えとしてこのような仕様になっています。改善方法については検討いたしますので、今少しお時間を頂ければ幸いです。
よろしくお願い申し上げます。 -
投稿者投稿