2011-11-10 23 views
0

私はvb6に画像を取り込むDirectShow.netとのインターフェイスを持つ.net DLLパッケージを手に入れました。directshow.netの制御dllとvb6を使用

.net DLLには、DirectShow.netライブラリで提供されているdxSnapサンプルの関数が含まれており、.netアプリケーションで動作します。私はInterop関数を追加しました。そして、VB6は関数を認識し、戻り値の型関数でうまく動作します。

デバイスからストリームを取得してコントロールにアタッチする機能がありますが、画像ボックスを渡すときに型の不一致エラーが発生し、LEADビデオコントロールを渡すときにエラーがオーバーフローします。

vb6アプリケーションへのストリームを取得するより良い方法はありますか?

答えて

1

「より良い方法」マネージドコードで、VB.Netでアプリケーションを記述することです:)

+0

もちろん、私のお店では古いDLLを使い、まったく新しいDLLを書く時間を費やさないようにしたい –

1

DirectShowは、通常ので、あなたの.NETのいずれかにPictureBox.hWndを渡すことができますに描画するためにウィンドウハンドルを必要とします可変タイプのIntPtrを使用しています。
イメージデータ自体を再実行する必要がある場合は、COM InteropはVB6のCOM StdPictureオブジェクトへのイメージ/ビットマップオブジェクトの変換を処理する必要があります。または、パックされたDIBなどを含むバイト配列を渡すこともできます。

関連する問題