VB6で作成したDLLを.NETで使う
- 題名: VB6で作成したDLLを.NETで使う
- 著者: はがが
- 日時: 2004/06/17 17:38:54
- ID: 4473
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: VB6で作成したDLLを.NETで使う
- 著者: こん
- 日時: 2004/06/17 21:01:24
- ID: 4477
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: VB6で作成したDLLを.NETで使う
- 著者: はがが
- 日時: 2004/06/17 21:26:57
- ID: 4478
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: VB6で作成したDLLを.NETで使う
- 著者: Rhea
- 日時: 2004/06/19 0:19:46
- ID: 4493
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: VB6で作成したDLLを.NETで使う
- 著者: こん
- 日時: 2004/06/19 11:26:39
- ID: 4494
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: VB6で作成したDLLを.NETで使う
- 著者: はがが
- 日時: 2004/06/20 11:56:38
- ID: 4496
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。
いろいろと検索してみましたが解決方法が分からず投稿しました。
以前にVB6で作成されたDLLを.NETで使おうと
しているのですがエラーが発生し、煮詰まっております。
.NETのフォームオブジェクトをDLLに渡したいのですがうまくいきません。
簡単に説明します。
VB6のActive X DLLを作成し、Class1の中に以下のコードが含まれているとします。
Private mOrgForm As Object
Public Property Set OrgForm(frm As Object)
Set mOrgForm = frm
End Property
Public Property Get OrgForm() As Object
Set OrgForm = mOrgForm
End Property
このとき、Class1のInstancingはMultiUseとなっています。
.NETで参照設定を行い、以下のコードを記述しました
Dim fCls As Project1.Class1
fCls = New Project1.Class1()
Dim f2 As Form = New Form2()
fCls.OrgForm = CType(f2, Object)
fCls.OrgForm = CType(f2, Object)を実行しようとすると
追加情報:インターフェイスがサポートされていません。
というエラーが実行時に表示されます。
CTypeでObjectに変換している部分が問題かと思い
fCls.OrgForm = CType(f2, MarshalByRefObject)としてみましたが
同様のエラーが発生しました。
.NETのフォームオブジェクトをVB6のDLLに渡すことは無理なはなしなのでしょうか?
.NET側でこのエラーを回避する方法をご存知の方がいらっしゃいましたら
ご教授いただければと思います。
よろしくお願いします。