XMLテンプレートを使用したプログラムについて
ReportsMagicで作成したXMLテンプレートをxpaで読み込ませ、データを入力し反映されているか確認するためのテストプログラムを作成したいと考えています。
①モデルやデータの設定
②プログラムでAPGを使用し、照会・入力・出力のプログラムを作成
③②の出力ではマージ形式の設定
現在の状況として、上記①~③をReportsMagicサンプルアプリやxpa逆引き時点の「ReportsMagic 用フラットファイルを出力するには」や「テンプレートのマージ」等を参考にしましたがこのような手順で合っているのか、何が不足しているのか判断に迷っています。
試しに作製したプログラムを実行してみると「Magic xpa Studioの実行エンジンで例外が発生しました。実行エンジンは再起動されます。」と表示されます。
xpaの基礎的な学習をしながら進めており操作に不慣れなため、手順や参考にすべき項目等ご教授いただけますと幸いです。
よろしくお願いいたします。
-
DSさん、
お困りの原因ではないのですが、まずはReportsMagicを使わずに、普通にMagicだけで印刷プログラムを作る練習をされてみてはいかがでしょうか?MagicはReportsMagicを全く使わなくても印刷プログラムを作成することができます。
うまく印刷されたら、その後に出力フォームの部分だけをReportsMagicに置き換えるという手順でやられたほうが問題解決が早いと思います。ReportsMagicはあくまでも印刷レイアウト作成のための補助的ユーティリティですので。
ちなみに、XMLマージでしたら、ReportsMagicを使わずに、まずはマージファイルが正しく出力されているかどうかの確認をされてみたらいいと思います。
-
Tandaさん
詳しく教えていただきありがとうございます。
教えていただいた通り、ReportsMagicを使用しない印刷プログラムを作成したところ、正しく印刷ができました。
出力フォームの部分を置き換えるという部分に関してですが、これは印刷のロジック内の式でReportsMagicのXMLファイルを指定するという認識で合っておりますでしょうか。
上記の方法で作成したところ置き換えが正しくできておらす、式が誤っているのかそもそも置き換えの設定が違うのか原因が特定できませんでした。また、マージファイルの出力はReportsMagicを使用しない状態でも正しい出力が確認できませんでした。
xpa逆引き辞典の第22章マージを参考に設定したものの、実行エンジンで実行すると結果が出力されないためマージファイルはどのような手順で出力するものなのでしょうか。差し支えなければ再度ご助言をいただけますと幸いです。
-
DSさん、
そういえば、検証されているReportsMagicはActiveX版ですか、それとも.NET版ですか?ActiveX版ですと、IEでしか動きませんので、Edgeの場合、IE互換モードにしてやる必要があったはずです。
今、手元にReportsMagicがありませんので確認ができないのですが、ご覧になられている資料がActiveX版用なのか、.NET版用なのかをまず確認してフェーズを合わされたほうがいいかと思います。
ただ、いずれの版であったにしても、XML出力まではReportsMagicの有無に関係なくできるはずですので、そこまでの手順は確認しておいたほうがいいと思います。
以下の点を確認してみてください。
1. 入出力ファイルテーブルの「メディア」欄は「F=ファイル」になっていますか?また、式欄でXMLファイルを指定していますか?
2. 「M=マージ形式」のフォーム特性の「ファイル名」でテンプレートファイルへのパスを正しく指定していますか?
3. そのフォーム特性で「タグテーブル」の設定はできていますか?
4. 「XML出力」の欄は「Yes」になっていますか?
ちなみに、F8の構文チェックを行うことで、例外とかの致命的なエラーはほとんど回避することができますので、1箇所でもプログラムを修正したら、常にF8でチェックするという習慣をつけられるといいですよ。
-
Tandaさん
詳しく教えてくださったにも関わらず、業務の関係で返信が遅くなってしまい大変申し訳ございません。バージョンに関しては.NET版でしたので、マニュアルでは.NET版を確認するようにいたします。
教えていただいた内容で設定したものの挙動が思うようにいかないので、恐らくマージ形式のファイルパス部分が怪しいと考えられるので確認しております。
また、教えていただいたF8を使用するようにしてから自身で解決できる範囲が広がりました。
いろいろご教示いただきありがとうございます。 -
DSさん、
まずは、ReportsMagic無しで(テンプレートファイルは必要ですが)、XMLでマージ出力ができるところまで頑張ってみてください。
Magicにおいてマージは、外部とのデータのやり取りの基本ですので、マージが理解できるようになると、Magicの多くの動作(特にWebアプリ)が理解できるようになりますよ。
RIAも内部的にはXMLでデータの受け渡しをやっていまして、RIAクライアントは単にそのデータブラウザでしかありません。Webブラウザと同じようなものですね。
サインインしてコメントを残してください。
コメント
5件のコメント