VB.NETでDLL作成をするには?

解決


ゆき  2004-07-24 19:58:05  No: 115005

開発環境:WinXP, VS.NET2003

現在VB.NETで複数作成したCLASSをDLL化しようとしていますが、
コマンドラインでどうしても作成エラーになってしまいます。

classA, classB という二つのクラスがあったとして、
classAには[ Private clsB As New classB ]の宣言をしています。
コマンドラインで[ vbc /target:library classA.vb ]を実行すると、
「error BC30002: 型 'classB'が定義されていません」とエラーが発生。
Dir関数などのエラーは「Imports Microsoft.VisualBasic」やら
「Option Explicit Off」で解決できたのですが、
他のクラスを読み込むところが分かりません。
DLL作成の基礎知識などもないので、根本的な部分で間違ってるような
気もするのですが、ヘルプ等でも探し出せませんでしたので
投稿させていただきました。
どなたかご存知の方、ご教授いただけませんでしょうか。
よろしくお願いします。


マグ  2004-07-24 22:21:19  No: 115006

VS.NET2003ならDLLファイルに変える装置がついていますよ。

VS.NET2003を起動させて、
ファイル→新規作成→プロジェクト→
プロジェクトの種類でVisial Basic プロジェクトを選択して、
右にあるテンプレートの中でクラス ライブラリーを選んでください。
ついでにプロジェクト名と保存先を記入し忘れないでください。

次にソースを記載して、
ビルド→ソリューションのビルド→ファイル→すべてを保存をクリックします。
そうすると、いつもはEXEファイルが出来る所にDLLファイルが作成されます。
多分これで出来ると思います。
私もVB.NET2003でこの方法でDLLファイルを作成していますから。


ゆき  2004-07-24 23:02:49  No: 115007

マグさん、早速のご返答ありがとうございます。

マグさんの手順でやったところ、DLL作成できました!
コマンドラインとは何が違うのかは分かりませんが。
ありがとうございます。

で、もう少し質問があるのですが、実はクラスは二つだけではなく、
全部で20くらいあるのですが、それぞれをDLL化したいと思っています。
(ケータイでダウンロードさせる仕組みになるので、
デカいファイルは無理だし、変更したクラスだけ入れ替えたいので)
今回の場合はclassAがclassBを必要としていたために
できたDLLはどちらも含んでいるということですよね?
例えば、もしclassCもDLLするとして、それがclassBを必要としていたら、
classAとclassCにはどちらも同じclassBを含んでいるということに
なるのでしょうか?で、もしclassBに変更を加えることになったら、
classA,Cどちらも再コンパイル(DLL化)しないとダメなのでしょうか?
質問がややこしくて申し訳ないのですが、よろしくお願い致します。


マグ  2004-07-25 07:30:43  No: 115008

私には分かりません。

そのようなことは今まで行ったことがないし、
ケータイの機能を増やしたこともありません。


マグ  2004-07-25 07:31:30  No: 115009

付け足しです。

とりあえず、いろいろ試してみては?


z  2004-07-26 23:25:15  No: 115010

ClassA、ClassB等をそれぞれ別DLL(別プロジェクト)として作成すればOKでは?
ClassBがClassAを使う場合、ClassBのプロジェクトでは作成済みのClassA.Dllを
インポートするって感じです。


ゆき  2004-07-27 17:41:32  No: 115011

マグさん、zさん、返信が遅くなり申し訳ございません。
また、ご返答ありがとうございました。
仕様上どうしてもケータイを使わなくてはならず、
いくつものDLLを作成しないといけないという点では
かなり面倒なものがありますが、やってみます。

また何か問題点が出てきたらお願い致します。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加