自作ActiveXの戻り値をBitmapで受け取る方法 – プログラミング – Home

自作ActiveXの戻り値をBitma...
 
通知
すべてクリア

[解決済] 自作ActiveXの戻り値をBitmapで受け取る方法


タフガイ
 タフガイ
(@タフガイ)
ゲスト
結合: 19年前
投稿: 30
Topic starter  

C#アプリから呼ばれるActiveXをVC6.0で製作しています。
ActiveXの内容としては画像を表示し、またその内容をアプリに返すというものです。

画像の表示等の部分は出来上がっているのですが、その内容をアプリに返す部分が出来て
いなくて困っています。

ActiveX(VC6.0)側:
画像データはCBitmapで保有

アプリ(C#)側:
画像データをBitmapで受け取る
Bitmap bm = ActiveX.xxx();

上記の形で受け取りたいのですが、VC側からどのようにリターンしたら良いのか分からず
に困っています。
オートメーションで選べる戻り値も限られていますし。

上記の形で受け取らなければいけないのは仕様で決まっていて変えられません。
というのもActiveX部分のみの入れ替えで現状のActiveX(製品版でソース非公開)では上
記の形で受け取れているからです。

ここ数日色々と調べているのですが、進展がなくて困っています。
何か情報をお持ちでしたら些細な事でも結構ですので教えて頂けないでしょうか。
よろしくお願い致します。


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

CBitmap ってのは何ですか? MFC の CBitmap でしょうか?
ActiveX というのは、(今まさにやろうとしていることでしょうが)呼び出し元の言語を
問いません。
C でも C++ でも C# でも VB でも呼び出すことができます。基本的には。
であるからには、戻り値と引数は、それらすべての言語で使えるデータ型でなければなり
ません。
MFC の CBitmap を ActiveX が返すというのが信じがたいことですが、仮にそうだとした
ら、それを C# で受け取るのは不可能です。

その製品の ActiveX ってのはドコの、なんと言う製品なのでしょうか?


返信引用
タフガイ
 タフガイ
(@タフガイ)
ゲスト
結合: 19年前
投稿: 30
Topic starter  

シャノンさん、早速ありがとうございます。

CBitmapはお察しの通りMFCのCBitmapで、ActiveX内で画像を表示する為に使っています。
おっしゃる通り、それをそのままリターンできるとは思っていないのですが、現状では上
記の様にBitmapで受け取っています。

C#側のBitmapというのはCBitmapではなく、Bitmapです。
そのままヘルプで見ると
.NET Framework クラス ライブラリ
Bitmap メンバ
というのが出てきます。
現状ではこれで受け取っている形になっています。
私は.NETやC#が全く分からないので、このあたりがイマイチ分からないのですが。。。

製品名ですが、すみませんが守秘義務がありますので公表する事ができません。
現状使っているActiveXに守秘義務があるのではないのですが、C#のアプリ側に守秘義務
があるので。


返信引用
Kerry
 Kerry
(@Kerry)
ゲスト
結合: 20年前
投稿: 192
 

戻り値をIPictureDisp型にすればC#でも受け取り可能です。
VC++の方に回答していますので、そちらを参照ください。

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200801/08010015.txt


返信引用
タフガイ
 タフガイ
(@タフガイ)
ゲスト
結合: 19年前
投稿: 30
Topic starter  

Kerryさん、回答ありがとうございます。

VC++掲示板にて書き込ませて頂きました。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> 現状では上記の様にBitmapで受け取っています。

CBitmap と Bitmap は全然違うものなので、受け取れないと思いますが。

> 戻り値をIPictureDisp型にすればC#でも受け取り可能です。

あぁ! 勘違いしてました。
今使っている製品の ActiveX が CBitmap を返しているわけではないのですね。
ちょっと考えればわかることでした。


返信引用
タフガイ
 タフガイ
(@タフガイ)
ゲスト
結合: 19年前
投稿: 30
Topic starter  

シャノンさん

Bitmapが何か良く分かっていないのでもしかしたらそのままいけるかな?とも思っていた
のですが、無理なのですね。

製品版のソースは非開示なので何を返しているかは分からないのですが、受け取りは
Bitmapです。
私の作ったActiveXが画像表示にCBitmapを使っているのでその画像を返そうとしています。


返信引用
タフガイ
 タフガイ
(@タフガイ)
ゲスト
結合: 19年前
投稿: 30
Topic starter  

VC++側での質問でこの件については解決致しました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました