- PR -

ActiveReportの宣言について

投稿者投稿内容
イオン
ベテラン
会議室デビュー日: 2005/10/18
投稿数: 81
投稿日時: 2006-03-01 19:54
お世話になります。

ActiveReportの宣言について教えてください。
作成したレポートのオブジェクト名を"ReportA"とします。

ここでActiveReportのインスタンスを立てます。
DIM repA AS New ReportA

以上のような処理になるかと思います。

しかし、これではオブジェクトのReportAが無い場合エラーとなります。
repAという受け皿だけを用意しておき、必要な場合のみ任意に
インスタンスを立てるような事はできないのでしょうか?

オブジェクト名で受け皿と関連付けるイメージなのですが・・
良い方法があれば教えてください

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-01 20:09
引用:

イオンさんの書き込み (2006-03-01 19:54) より:

しかし、これではオブジェクトのReportAが無い場合エラーとなります。


型が存在するかどうかは、コンパイル時に解決できる問題ですよね。
ですから、何が問題なのかがわかりませんでした。

引用:

repAという受け皿だけを用意しておき、必要な場合のみ任意に
インスタンスを立てるような事はできないのでしょうか?


文章通りに解釈しましたが...

コード:

    ' repA だけ宣言
    Dim repA As ReportA

    ' 必要な時な時にインスタンス化
    rep = New ReportA()


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
イオン
ベテラン
会議室デビュー日: 2005/10/18
投稿数: 81
投稿日時: 2006-03-02 09:18
レスありがとうございます。

エラーにはしたくないということです。
受け皿ですので、あってもなくてもエラーにはしたくないのです。

型宣言をReportAでしてしまうと、必ずReportAが存在しなくてはなりません。
ですので、受け皿としては使えないと・・。

ActiveReportだという型宣言で受け皿を用意して、
その受け皿を使いたい場合のみReportAと関連付けるみたいなことができないかと。

無理なんでしょうか・・

環境はVB6です。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-03-02 09:41
AbstractFactory パターンと リフレクションを使ってどうにかするのかな
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-02 09:42
引用:

イオンさんの書き込み (2006-03-02 09:18) より:

エラーにはしたくないということです。
受け皿ですので、あってもなくてもエラーにはしたくないのです。


コンパイル後は、型がないというエラーには "なりえない" と思います。
型のイメージを勘違いされているか、うまく私に伝わっていないかどちらかでしょう。

コンパイル エラーならともかくですが、それはその時点でおかしいことですからね。
普通 "インスタンスの受け皿" とは、"型が明示化された変数" を指します。

引用:

型宣言をReportAでしてしまうと、必ずReportAが存在しなくてはなりません。
ですので、受け皿としては使えないと・・。

ActiveReportだという型宣言で受け皿を用意して、
その受け皿を使いたい場合のみReportAと関連付けるみたいなことができないかと。


何となく勝手に脳内置換しますが、この場合の受け皿というのは、
別の型の Report も格納できるという意味なのでしょうか?

引用:

環境はVB6です。


はつみみです。:)
しかし、VB6 とて同じことが言えますね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-02 09:45
引用:

かるあさんの書き込み (2006-03-02 09:41) より:

AbstractFactory パターンと リフレクションを使ってどうにかするのかな


そういう意味であれば、VB6 らしいので「レイト バインディング」でしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-03-02 09:47
引用:

じゃんぬねっとさんの書き込み (2006-03-02 09:45) より:
引用:

かるあさんの書き込み (2006-03-02 09:41) より:

AbstractFactory パターンと リフレクションを使ってどうにかするのかな


そういう意味であれば、VB6 らしいので「レイト バインディング」でしょう。



はっ!!見逃していました。
フォローありがとうございます。
イオン
ベテラン
会議室デビュー日: 2005/10/18
投稿数: 81
投稿日時: 2006-03-02 09:59
>別の型の Report も格納できるという意味なのでしょうか?
その通りです!
どんなレポートでも格納できるActiveReportの受け皿が欲しいのです。


レイトバインディグについて詳しく教えて頂けないでしょうか?

objectか何かで宣言だけしておいて、
ActiveReportのオブジェクト名から関連付ける事ができるということですか?

スキルアップ/キャリアアップ(JOB@IT)