2010-11-25 5 views
0

Windowsを使用しようとしています。そのコントロールの中で私はWPFコントロールをホストします。私がクラスにすべてのメソッドを使用できるように、私は自分のクラスにactiveXオブジェクトをキャストしようとする場合を除いて素晴らしい作品です。しかし、私がそれをやろうとすると例外が発生します。なにが問題ですか?ActiveXオブジェクトをオブジェクトにキャストする際の問題

私は登録しました。手作りのデータ(コントロールコンストラクタで初期化されたもの)を使ってSAP内でそのコントロールを表示することもできます。私はこれがより一般的な問題で、SAP特有ではないかどうかはわかりませんが。

事前に感謝と感謝をお寄せください。

私が得たメッセージは次のとおりです。キャストすることができないタイプのクラス型への 'システム.__ ComObject' 'CapacityCalendarControl.CapacityCalendar'

[Guid("9A2F1CCB-8DC0-4CE5-B3C7-403A1A8CDCE2")] 
[ProgId("kamil.calendar.control")] 
[ClassInterface(ClassInterfaceType.AutoDual)] 
[ComVisible(true)] 
public partial class CapacityCalendar : UserControl 
{ 
    //internals... 
} 
+0

あなたが爆撃されたコードを投稿しませんでした。 –

答えて

1

Aシステム.__ ComObject(COMラッパー)のCOMオブジェクトをキャストすることができません .NETクラスに変換します。最も簡単な方法は、TLBImport(タイプライブラリインポートツール)を使用することです。もしあなたのactiveXに.TLB(外部または埋め込み)が装備されているならば、私は思っています。

は、より多くのためにここを参照してください:Tool for creating .NET wrappers for a COM DLL?

+0

しかし、私はネットアセンブリからactiveXを作ってしまいました。ネットアセンブリに変換することはできません。少なくともTlbimpから得たものです。 – kamilw

+0

TlbImpは、.NET以外のCOMオブジェクト(= Active X)を使用するための.NETクラスを作成します。私は "私はActivXをネットアセンブリから作った"という声明を理解していませんか? –

関連する問題