Q69:ファイルサーバーに、MZPFで作成したファイルを置き各社員のPCからサーバーのファイルを直接起動する方法。
Q69-1:
サーバーとクライアントPC関係について教えてください。ファイルサーバーに、MZPFで作成したファイルを置き各社員のPCからサーバーのファイルを直接起動する方法についてです。
環境
■ファイルサーバー
・MZPF インストール無し
・共有ファイルを作成
絶対パス / 複合コンポーネント置き場
D:\MZPF / D:\MZPF\複合
相対パス
\\Server_1\MZPF / \\Server_1\MZPF\複合
・作成した "mzaxファイル" を D:\MZPF に保存
・作成した "mzcxファイル" を D:\MZPF\複合 に保存
■各個人PC
・MZPF インストール済み
・"mzaxファイル" 及び "mzcxファイル" は無し
・サーバーの"mzaxファイル"のショートカットをデスクトップに作成
・C:\MZPlatform\2.4\etc\Platform.ini 内の
CombinativeComponentsFolder= を
CombinativeComponentsFolder=\\Server_1\MZPF に変更
作成する際から、サーバーに"mzaxファイル"(例)"メイン.mzax"を作成。
複合コンポーネントのみ保存する際もサーバーに(例)"サブ.mzcx"保存。
最後に、複合コンポーネントの"属性情報設定"にて Reference に"複合\サブ.mzcx" と入力。
ReferenceEnabled を true に変更。
この状態で、個人PCからショートカットを使って起動する場合は、問題なく動作します。
サーバー内の複合コンポーネント"サブ.mzcx"を個人PCのアプリケーションビルダーで編集して"メイン.mzax"をショートカットにて実行すると反映を確認できました。
しかし、サーバー内の"メイン.mzax"を個人PCのアプリケーションビルダーで編集しようすると、複合コンポーネントが見つかりませんと出ます。
ログを確認すると
java.io.FileNotFoundException: C:\MZPlatform\2.4\複合\サブ.mzcx (指定されたパスが見つかりません。)
となってしまいます。
このような使い方が、本来の使用方法ではないのかと思いますがなにか、良い回避策がございましたら、教えて頂きたいのですがよろしくお願い致します。
関連ファイル:サーバーから実行する方法
A69-1:
他PCの共有フォルダ中の複合コンポーネントの外部参照につきまして、環境に左右される可能性がございますが、当方の環境ではパスの記述を修正することにより、お送りいただいたファイルをロードすることができました。
以下の2点のご確認をお願い致します。
1)パスを表現する「\」を「/」または「\\」に変更
・Platform.ini内
CombinativeComponentsFolder=//Server_1/MZPF
または
CombinativeComponentsFolder=\\\\Server_1\\MZPF
・複合コンポーネントの属性Reference
複合/サブ.mzcx
または
複合\\サブ.mzcx
2)Platform.ini内のパスに日本語が含まれていないこと
お知らせ頂きましたCombinativeComponentsFolderのパス(//Server_1/MZPF)では問題ございませんが、パスに日本語が含まれている場合、問題が発生するようです。
複合コンポーネントの属性Referenceに記述されているパスには日本語が含まれていてもよいようです。
(注) Ver.2.5からは、日本語を含んだパスでも正常に動作いたします。
備考:「複合」の「Q&A15」にも掲載。