フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
MZ Platform単体で、既存のPDFファイルに文字を書き込む機能はございません。
また、ボタンの2回押しを避けるという件ですが、これはタイマーやスレッドなどを使って、処理中でもボタンを押せるようにしているということでしょうか。もしそうであれば、処理中はボタンを押し下げ不可にするなどの設定も可能です。
ご質問中の「処理中にフォーム表示にラベルだと文字が白くなり」について、状況がよくわかりませんので、もう少し詳しく説明していただけますでしょうか。
MZPlatformユーザー会キーマスターたいへん恐縮ですが、アプリケーションの比較機能はございません。
改訂時の変更点については、コメント行に説明を記入するなどでご対応いただけますでしょうか。MZPlatformユーザー会キーマスターご指摘の通り、現状のCSVファイル入力コンポーネントではShift-JISを前提としておりまして、UTF-8のCSVファイルを読み込むと文字化けしてしまいます。
対応策としては、まずテキストファイル入力コンポーネントで文字コードを指定して文字列として読み込み、その文字列をCSVファイル入力コンポーネントに渡してテーブルにします。詳細は、添付したZIPファイルを展開したアプリケーションの中身をビルダーでご覧ください。
添付ファイル:
MZPlatformユーザー会キーマスター該当エラーについてネット上で調べておりますが,2016年6月のWindows update KB3163018(Win10の場合)/KB3161949(Win7の場合)の関係で,古いJava (JRE)を使用時にご提示のようなエラーが発生する場合があるという情報があります.また,SSL通信に求められるキーのビットが変更になり,古いJava (JRE)では対応できない場合があるという情報もあります.
もしこれに該当する場合,JREを新しいものでお試しいただくか,私どもとしてはお勧めできませんが,該当KBをアンインストールする方法をとるしかないようです.以下に参考にしたURLをお知らせします.
https://social.technet.microsoft.com/Forums/en-US/aaa61549-24e0-431d-9154-e4803f533c89/mssql-and-kb3163018?forum=win10itprogeneralMZPlatformユーザー会キーマスター以下のページによりますと,ご提示のようなエラーは,encrypt プロパティが true に設定され,trustServerCertificate プロパティが false に設定され,接続文字列のサーバー名が SQL Server SSL 証明書のサーバー名に一致しない場合に発生するようです.
https://msdn.microsoft.com/ja-jp/library/bb879949(v=sql.110).aspx
実際の接続時の設定は,データベースURLに続く文字列に続くように,以下のように記述いたします.
jdbc:sqlserver://サーバー名:1433;databaseName=データベース名;encrypt=trueまたはfalse;trustServerCertificate=trueまたはfalse;または,Windows統合認証を使用されている場合には,integratedSecurity=trueをデータベース名;の後に付けることで,解決する場合もあるようです.
SQLServerの設定をご確認いただき,設定のご検討をお願い致します.
MZPlatformユーザー会キーマスターまずは,以下のページをご参照になり,ご使用のJREのバージョンに対応するJDBCドライバをお試しいただけますでしょうか.MZプラットフォームVer2.5の標準インストールではJRE6,Ver3.4ではJRE8がインストールされます.
https://msdn.microsoft.com/ja-jp/library/ms378422(v=sql.110).aspxMZPlatformユーザー会キーマスターお手数ですが、添付のZIPファイルを展開したWebアプリをサーバに配置して実行していただけますでしょうか。リストを選択して項目が表示されたら正常に動作していることになります。
添付のアプリが正常に動作した場合は、作成中のアプリ内に不具合があって、処理の過程でエラーが発生していることになります。
添付のアプリが正常に動作しない場合は、Webアプリの環境に問題がある可能性があります。ご使用のバージョンなどを詳細にお知らせいただけますでしょうか。また、他のサンプルアプリを実行してみて問題がないかご確認ください。
添付ファイル:
MZPlatformユーザー会キーマスターTEST2mod1の処理では元の状態に戻りますので、このような記述をしてはいけません。同じアクションイベントに処理と判定処理を3組接続したら、必ず3回実行されます。処理と判定処理が1組だけ接続されるようにしてください。外部通信の中の処理を修正したファイルを添付します。
同様に、修正してはいませんが実行2ボタンの処理のように書いてもいけません。これは必ず3回実行されます。こちらは外部通信からイベントが出てくるので、そのイベントが発生したら次を実行するように書けば良いと思います。
添付ファイル:
MZPlatformユーザー会キーマスター拝見しました。
外部通信の中の処理Aにサブルーチン4の「処理を呼び出す」が3回接続されていますので、このままでは常に3回実行します。改善方法は、処理Aに必ず実行する処理(サブルーチン4)と判定処理を接続する構造にすることです。例えば、サブルーチン4の処理の中で論理値格納変数を使ってOKのときにtrueを設定し、NGのときにfalseを設定しておけば、その値に従って処理を継続するかどうかを判定することができます。修正例を添付しますのでご覧ください。この例では、継続不可の場合に元のエラーメッセージが、継続可のときに別のメッセージが表示されるようにしてありますので、継続可のところに処理を追加すればOKのときのみ処理を継続することができると思います。
添付ファイル:
MZPlatformユーザー会キーマスターたいへん恐縮ですが、文章だけですとこちらが正確に状況を理解できているか判断が難しい内容に思われます。できれば、状況を再現した簡潔なアプリケーションを添付していただけると助かります。
参考までに、処理の分岐を記述したアプリケーション(MZAX)をZIP形式に圧縮したファイルを添付します。2つのサブルーチンがあり、実行するとそれぞれメッセージダイアログが表示されます。チェックなしで開始ボタンを押すと処理1のみを実行し、チェックありで開始ボタンを押すと処理2まで実行します。
お問い合わせの中で、「外部からOKが来なかった時」の具体的な状況がわかりませんが、基本的には添付したアプリのように何らかの値を使って処理の分岐を書くことになります。イベント生成を使って分岐をすることにはならないと思いますが、状況によってはイベント伝播制御コンポーネントなどを使うことはあるかもしれません。
もう少し具体的な情報をいただければ詳細にご説明しますので、よろしくお願いします。
添付ファイル:
-
投稿者投稿