XE3 Pro環境で、
QuickReport5 Proをインストールし、
更にでQRGridという
QuickReportで軸線を引くことができる
コンポーネントを追加した独自パッケージをインストールしています。
そこで、QRGridを組み込んでいるプログラムを開けると
「パッケージを読み込めません。その中に
'QRDMBarcode'が含まれていますが、これはパッケージ'QR5RunDXE3'にも含まれています。」というエラーが出て、認識してくれません。
Delphi2010までは大丈夫だったのですが、回避方法をご存知のかた
教えてください。よろしくお願いします。
OSはWindows 7です。
> Delphi2010までは大丈夫だったのですが
2010 も XE3 も同じだと思いますが...?
[WEAKPACKAGEUNIT(弱いパッケージ)]
http://docwiki.embarcadero.com/RADStudio/XE3/ja/WEAKPACKAGEUNIT%EF%BC%88%E5%BC%B1%E3%81%84%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%EF%BC%89
[DENYPACKAGEUNIT 指令(Delphi)]
http://docwiki.embarcadero.com/RADStudio/XE3/ja/DENYPACKAGEUNIT_%E6%8C%87%E4%BB%A4%EF%BC%88Delphi%EF%BC%89
上記コンパイル指令で回避できませんか?
DEKOさん 回答有り難うございます。
こちらの指令はどちらに記載すれば良いのですか?
QRGridのユニットの方に記載したところ、
パッケージコンパイル時に、QuickReportのコンポーネントを追加します。
のメッセージが出力されてしまいました。
> パッケージコンパイル時に、QuickReportのコンポーネントを追加します。
> のメッセージが出力されてしまいました。
...ダメでしたか。
(A というパッケージに含まれる ユニット C をパッケージ B で必要とするという前提で)
では、B のパッケージの Requires に A(.dcp) を追加してみてください。
# パッケージ B のプロジェクトには、
# 直接、ユニット C を含まないようにしてください。
DEKOさん
ありがとうございます。
まず、B(QuickReport) のパッケージをコンパイルすることができません。。
Aのcontainsでエラーがでます。
A自体は問題なくコンパイルできます。
難しいですね。。もう一度Delphi再インストールからやってみます。
ちょっとだけ頭の中で整理してみました。
1.QR5RunDXE3 (QuickReport の実行時パッケージ) QRDMBarcode が含まれる
2.QR5???DXE3 (QuickReport の設計時パッケージ)
3.QRGrid が含まれる (設計/実行時) パッケージ
という事なのでしょうかね?
> QRGridを組み込んでいるプログラムを開けると
なので、QRGrid または関連ファイルが QRDMBarcode を参照していると、
設計時に、QuickReport の実行時パッケージが必要となってしまうため、
あのようなエラーになってしまうと思います。
ただ、解せないのは 2010 では OK だったという事なのです。
QRGrid を含むパッケージの構成が変わっていないとすると、
XE3 でのみエラーになる事は考えにくいので。
もちろん、XE3 用のQuickReport のパッケージに不備がある可能性はあります。
# QRDMBarcode がソースで提供されているのなら、
# こちらに {$WEAKPACKAGEUNIT ON} してやればいいような気もします。
QuickReport の現物を所持していれば、もう少し的を射た回答ができるのかもしれませんが、
所持していないのでフワフワした回答になってます。ゴメンナサイ m(_ _)m
DEKOさん
度々ありがとうございます。
1.QR5RunDXE3 (QuickReport の実行時パッケージ) QRDMBarcode が含まれる
2.QR5DesignDXE3 (QuickReport の設計時パッケージ)
3.QRGrid が含まれる (設計/実行時) パッケージ
でOKです。
2010では、だましだましですが、
QuickReport⇒独自パッケージの入れる順番で誤魔化せてました。
QRDMBarcodeに {$WEAKPACKAGEUNIT ON}を入れることにより
メッセージは出なくなりましたが、他のプログラムも同様に使用しており、
メッセージ出力されている分全てに付け足してみましたが、
どれかで引っかかるようです。
とりあえず、QRGridを使用しているプログラムが1つの為、
パッケージから削除し、
QuickReport側で代替できそうなコンポーネントがあったので、
そちらに置き換えていこうかと思ってます。
お時間ありがとうございました。
ありがとうございました
ツイート | ![]() |