- PR -

VB6.0で、ActiveXDLLを作成し、EXE側から作成したDLLを起動したい

投稿者投稿内容
effemia
常連さん
会議室デビュー日: 2005/04/05
投稿数: 34
お住まい・勤務地: 札幌
投稿日時: 2005-05-18 10:43
お世話になります。

件名について、VB6.0でActiveXDLLを作成して
DLL内には、1フォームを作成しました。
EXE側には、メニューフォームがあり、
メニュー上から上記で作成したDLL内のフォームを呼び出したいのですが、
どのように記述していいか、わかりません。
ご教授いただければと思います。
下記の3つについて具体的にどのように記述すると
よろしいでしょうか?
どなたかよろしくお願い致します。


1.EXE側にDLL参照するようにするソース
2.EXE側からDLLのフォーム呼び出すソース
3.DLL側のフォームロードと、アンロードイベント

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-05-18 10:50
こんにちは、じゃんぬ です。

引用:

1.EXE側にDLL参照するようにするソース
2.EXE側からDLLのフォーム呼び出すソース
3.DLL側のフォームロードと、アンロードイベント


ActiveX DLL ならば、参照設定に追加すれば、
後は普通にインスタンス化、つまり扱うこともできるハズですが...



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
effemia
常連さん
会議室デビュー日: 2005/04/05
投稿数: 34
お住まい・勤務地: 札幌
投稿日時: 2005-05-18 11:32
お世話になります。

参照設定の方法については、わかりますが、
インスタンス化等、ソースの記述方法がわかりません。

色々とWebサイトを検索してはいるのですが、
調査の仕方が悪いのか、未だ見つかりません。
具体的に、教えていただけないでしょうか?
よろしくお願い致します。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-05-18 11:36
諸農です。

引用:

参照設定の方法については、わかりますが、
インスタンス化等、ソースの記述方法がわかりません。



参照設定したら、ラッパークラスのソースが出来上がりませんか?
あとは、ActiveXで定義しているインタフェースにあわせて
IDEが作ってくれたラップクラスのメソッドを呼び出すだけですよね。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
rucio
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 98
投稿日時: 2005-05-18 16:35
こんにちは?

VB6.0ですよね?

昔のことなので不正確かもしれませんが
作成したDLLのプロジェクト名がDLLProjName、フォーム名がDLLFormと仮定して、呼び出し側では参照設定後に次のように記述します。

>2.EXE側からDLLのフォーム呼び出すソース
Dim MyForm As New DLLProjName.DLLForm
MyForm.Show
effemia
常連さん
会議室デビュー日: 2005/04/05
投稿数: 34
お住まい・勤務地: 札幌
投稿日時: 2005-05-18 17:06
お世話になります。

> Dim MyForm As New DLLProjName.DLLForm
> MyForm.Show

参照設定後、上記のように記述しました。
DLL側のクラスモジュールの内部しか参照できないのですが、
暮らすモジュールの内部に、フォームロードの記述がある
サブルーチンを作成しなければ、DLLの画面起動ができないのでしょうか?
ちなみに、どのように記述するのでしょうか。
申し訳ないですが、ご教授のほどよろしくお願い致します。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-05-18 17:14
前提をハッキリさせた方がいいかも。

ActiveXはVB6で作成ですね。
では、そのActiveXを利用する側は、次のうちどっちでしょうか?

1.Visual Studio 2002/2003で作成する.NETアプリケーション
2.Visual Basic 6.0やVisual C++ 6.0などの以前のツール


引用:

DLL側のクラスモジュールの内部しか参照できないのですが、
暮らすモジュールの内部に、フォームロードの記述がある
サブルーチンを作成しなければ、DLLの画面起動ができないのでしょうか?



確認ですが、ActiveXの外部インタフェース設計ってどうなっているんですか?

あと、それと、effemiaさんは、ActiveXを作ったり、利用したりすることが
初めてということなんでしょうか?

前提をハッキリさせた方が的確な回答を期待できますよ。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
effemia
常連さん
会議室デビュー日: 2005/04/05
投稿数: 34
お住まい・勤務地: 札幌
投稿日時: 2005-05-18 17:36
お世話になります。

ActiveXを利用する側は、VB6.0です。
何分にも、ActiveXの利用は初めてです。
外部インタフェース設計も初めてですので、
どのような設計方法がありますでしょうか。
すみませんが、よろしくお願い致します。

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