DOBON.NET DOBON.NETプログラミング掲示板過去ログ

参照されていないFormのインスタンス作成時に、コンパイルエラーを発生させない

環境/言語:[VB.NET]
分類:[.NET]

Form1というフォームがあります。このフォームを、あるモジュールで

Dim frm as New Form1

というようにインスタンスを生成します。

当然Form1が参照されていなプロジェクトではコンパイルエラ
ーになりますが、コンパイルエラーを起こさせない方法をご存
知ありませんか。

共通関数を作成していて、その関数内部で「Dim frm as New
Form1」のようにインスタンスを生成しているのですが、この
共通関数では他のFunctionも提供しています。あるプログラム
で他のFunctionのみを使用したいのにも関わらずForm1を参照
しなければならないのは面倒なのですが。
> Form1というフォームがあります。このフォームを、あるモジュールで
>
> Dim frm as New Form1
>
> というようにインスタンスを生成します。
モジュールスコープか…

> 当然Form1が参照されていなプロジェクトではコンパイルエラ
> ーになりますが、
まぁ、そりゃそうだw

> コンパイルエラーを起こさせない方法をご存
> 知ありませんか。
Form1を参照可能な所に置いておくしかない気がするなぁ…

> 共通関数を作成していて、その関数内部で「Dim frm as New
> Form1」のようにインスタンスを生成しているのですが、
いきなり話が変わった…!?
ここではfrmはローカルスコープなわけか…

> この共通関数では他のFunctionも提供しています。あるプログラム
> で他のFunctionのみを使用したいのにも関わらずForm1を参照
> しなければならないのは面倒なのですが。
依存している「frm As New Form1」を分離して、新たに依存しない部分だけで関数を作り直したらどうだ?
どうしても必要というのならばForm1そのものを含んだDLLを作ってみるとか。
ともかく「必要なものが無くても動くもの」というのは、プログラム上でも現実でも存在しないと思われw

※誤爆の嵐かもしれないかも(orz
2004/12/13(Mon) 19:43:00 編集(投稿者)

// 誤爆につき修正

■No8020に返信(ガッさんの記事)
> Form1を参照可能な所に置いておくしかない気がするなぁ…
遅延バインディングなどが使えるかもしれないですが、

 そもそも、

■No8017に返信(Graphsさんの記事)
> 共通関数を作成していて、その関数内部で「Dim frm as New Form1」のように
> インスタンスを生成しているのですが、この共通関数では他のFunctionも提供しています。
> あるプログラムで他のFunctionのみを使用したいのにも関わらず
> Form1を参照しなければならないのは面倒なのですが。
共通関数が、各プログラムを関与した作りっていうのは如何なものかと。
共通モジュールや、ライブラリってのは外部を意識しちゃダメなんです。
モジュールの独立性とか考慮されてないような気が... (^_^;)

# Graphs さんが担当でなければ、唱えても無意味な話ですが...


... って、ガッ さんも同じこと言ってましたね。

■No8020(ガッさんの記事)
> 依存している「frm As New Form1」を分離して、新たに依存しない部分だけで関数を作り直したらどうだ?
> どうしても必要というのならばForm1そのものを含んだDLLを作ってみるとか。
やはり、その方法しかないようですね。ありがとうございました!


■No8022に返信(java.lang.Nullpoさんの記事)
> 2004/12/13(Mon) 19:43:00 編集(投稿者)
>
> // 誤爆につき修正
>
> ■No8020に返信(ガッさんの記事)
>>Form1を参照可能な所に置いておくしかない気がするなぁ…
> 遅延バインディングなどが使えるかもしれないですが、
>
>  そもそも、
>
> ■No8017に返信(Graphsさんの記事)
>>共通関数を作成していて、その関数内部で「Dim frm as New Form1」のように
>>インスタンスを生成しているのですが、この共通関数では他のFunctionも提供しています。
>>あるプログラムで他のFunctionのみを使用したいのにも関わらず
>>Form1を参照しなければならないのは面倒なのですが。
> 共通関数が、各プログラムを関与した作りっていうのは如何なものかと。
> 共通モジュールや、ライブラリってのは外部を意識しちゃダメなんです。
> モジュールの独立性とか考慮されてないような気が... (^_^;)
>
> # Graphs さんが担当でなければ、唱えても無意味な話ですが...
>
>
> ... って、ガッ さんも同じこと言ってましたね。
>
> ■No8020(ガッさんの記事)
>>依存している「frm As New Form1」を分離して、新たに依存しない部分だけで関数を作り直したらどうだ?
>>どうしても必要というのならばForm1そのものを含んだDLLを作ってみるとか。

DOBON.NET | プログラミング道 | プログラミング掲示板