C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VB.NETでのActiveXの使用について


(過去ログ 8 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■8637 / inTopicNo.1)  VB.NETでのActiveXの使用について
  
□投稿者/ みそばち 二等兵(1回)-(2006/12/01(Fri) 09:49:40)

分類:[VB.NET] 


分類:[VB.NET] 

現在、VB Ver6.0で作成されたプロジェクトを、VB.NETに移行するにあたり、VB Ver6.0で使用しているActiveXを VB.NETでActiveXを使うときの弊害について調査しております。

具体的な移行手順などは
http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_6.aspx
を参照してわかりました。

が、しかし、なぜ、VB.NETでActiveXを使うとオーバヘッドがかかるかの具体的な理由がわかりません。
理由がわかる方、あるいは、こういった情報を取得するための参考文献、参考URLなどご存知の方がいらっしゃいましたらご教授願います。

0
引用返信 編集キー/
■8639 / inTopicNo.2)  Re[1]: VB.NETでのActiveXの使用について
□投稿者/ (報告) 二等兵(14回)-(2006/12/01(Fri) 10:03:44)

分類:[VB.NET] 

http://forums.belution.com/ja/vb/000/015/77.shtml

0
引用返信 編集キー/
■8640 / inTopicNo.3)  Re[1]: VB.NETでのActiveXの使用について
□投稿者/ はつね 二等兵(11回)-(2006/12/01(Fri) 10:18:32)
はつね さんの Web サイト

分類:[VB.NET] 

No8637に返信(みそばちさんの記事)
> が、しかし、なぜ、VB.NETでActiveXを使うとオーバヘッドがかかるかの具体的な
> 理由がわかりません。

VB.NETとActiveXは連携するときの仕組み(基礎技術)が異なります。
そのため、「相互運用機能を提供するラッパークラス」が必要になり、ActiveXをつかうためには、すべてラッパークラスでの処理を経由して行う事になります。
この処理部分がオーバーヘッドです。

「ラッパークラスでの処理」をオーバーヘッドであるとの明記はありませんが、この情報は、すべて提示して頂いたURLのページに書かれています。

「COM と .NET 間の相互運用には、オーバーヘッドが避けられません。」
   ↓脳内で読み替え!
「COM と .NET 間の相互運用には、ラッパークラスの処理が必要なため、その分、オーバーヘッドが避けられません。」

特に難しい文脈ではありません。「ラッパークラスが必要」との記載があるのですから、何がしかの処理があるとの想像は容易につくと思います。余計な処理があるのですから、当然、オーバーヘッドが生じます。

更に指摘させて頂きますと、提示頂いたURLの全体像はお読みになっていますか?
http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter3/chapter3_1.aspx
には「境界を越えるためにオーバーヘッドが生じる」との明記されています。


0
引用返信 編集キー/
■8643 / inTopicNo.4)  Re[2]: VB.NETでのActiveXの使用について
□投稿者/ 渋木宏明(ひどり) 伍長(45回)-(2006/12/01(Fri) 10:45:47)
渋木宏明(ひどり) さんの Web サイト

分類:[VB.NET] 

> そのため、「相互運用機能を提供するラッパークラス」が必要になり、ActiveXをつかうためには、すべてラッパークラスでの処理を経由して行う事になります。

厳密に言うと、「相互運用機能」を提供するのはラッパークラスではありません。
「相互運用機能」自体は、.NET ランタイムが提供する機能です。

ラッパークラスは、.NET ランタイムが提供する「相互運用機能」を用いて、ActiveX コントロールを .NET のコントロールと同じように扱いえるようにするためのものです。



0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -