オートメーションサーバあたりでプログラマが即死したからだと思う。
これからCOMはどうなると思う?
もうネイティブで書く意味は無いと思う?
本当に立てるとは思わなかった
馬鹿にはついて行けない複雑さだったからなあ
20年近いのに即死ですか
COMって何ですか?素人なんでわかりません!
9 :
デフォルトの名無しさん:2006/03/24(金) 12:57:05
韓国の5000年の歴史に比べれば一瞬の出来事だな。
まあ、あれだ
お金がないから海岸で拾ったワカメの茎を塩茹でしてかじる
たいした味がないから食べるほどにひもじくなる。
そんな抽象的な概念だべ
11 :
デフォルトの名無しさん:2006/03/24(金) 13:03:26
EXEと違って64KB以内におさめないといけないのが大変だよな
>>11 .cmd ってのがなかったっけ?と思ったが
良く考えたらありゃ CP/M-86 か。
>>11 え?COM ってその COM の話だったのか??
.COM企業か
何もかも懐かしい
_, -‐-、___
/ ` ` _ )
/ ̄ _,,ニ=‐─'´ー''',、
ゝ-┬l;;; ヽ
l// |;; _l
l ,./;; (ニ=、 , ,=ニ
/イr'ヽ; ー=o、', ', ro'l
ノ/ l l、!l `''''' ヽ`´!
. レ 〉、`ヽ ノー-‐' l
lゝノ''l ,イメ三ヾ、!
/、 l ヽ 〃 ,,, リ,,/l!
, -l:::ヽヽ、 ヽ、,l!___l;;;;;;;;;lヽ、
´ l::::::ヽ ヽ`ー─ヽ;;;;;;l::l `''ー、_
ヽ::::::::ヽ ヽ_/ヽ;;l::lヽ
ヽ:::::::::::ヽヽ__/'´;;;;l!:/ ヽ
妄 想 [Mou sau]
(1551〜1604 中国)
ORG 100H
EXE2BIN
FCD2ISO
20 :
デフォルトの名無しさん:2006/03/24(金) 16:13:14
I4You
21 :
デフォルトの名無しさん:2006/03/24(金) 16:22:26
でもExcelとかを.netで扱うときはまだCOMなんじゃないの?
あれもそのうち.netとかになるってこと?
22 :
デフォルトの名無しさん:2006/03/24(金) 16:50:39
コムって何?
23 :
デフォルトの名無しさん:2006/03/24(金) 16:57:51
昔東芝がひっかかってたよな。
長嶋茂雄がCMやってたよな
ららら無人くん?
違う違う
富士通のミニコンだよ
FACOM
こないだペンタブレット買った
つまらんな
.com ⇒ .net
DEBUGってWindowsXPになっても搭載されてるんだよね。
時代遅れだから。
リフレクションで、MacにもJavaにもおくれてたし。
38 :
32:2006/03/24(金) 21:13:19
orz
39 :
デフォルトの名無しさん:2006/03/24(金) 22:52:19
それで、コムって何?
マイクロソフトが社運を賭けた技術のひとつ
またCOMとOLEを間違っているスレか
42 :
デフォルトの名無しさん:2006/03/25(土) 01:22:32
まだコムの説明がなされてません
COM即死ってほどでもないじゃんwwww
DirectXだってずっと長生きしてるしwwww
てか長生きし過ぎ。
とっとと次世代に移れつーの。
DirectX 1/WinGからはじまって、はげしく即死しまくってるのだが。
ActiveXとかCOMつかうとなにがお徳なの?
OLEもOLE2もCOMもActiveXも今はNE(E)Tです。
VB=COM
>>47 exeやDLLの利用規約(インターフェイス)を山のようにゴテゴテと定めたものがCOM
51 :
デフォルトの名無しさん:2006/03/25(土) 11:11:13
即死がCOMの命 delete this;
「死せるCOM、生けるドトネトを走らす」
ドトネトもそうMSの思い通りに普及してないようなきもする
どうしてスレと逆の話ばかりしたがるかな。
どうしてこう検索しづらい名前をつけるかね?
COMしかり、.Netしかり。
aspだって拡張子と同じだからファイルそのものがひっかかる
IUnknownとかで検索すればいいんだけどな
59 :
デフォルトの名無しさん:2006/03/26(日) 23:33:56
pUnkをパンクと読んでいいですか
どうしてWindowsDNAは即死したのか
なら意味分かるけど。
DNAで検索スレば(ry
>>56 次あたり、意図的に ORG とか GOV とか出して来ると見た。
いっそのことexeにしてしまえと
名案だ
65 :
デフォルトの名無しさん:2006/03/29(水) 17:33:24
COMってなに?
66 :
デフォルトの名無しさん:2006/03/29(水) 17:39:19
command.com
今更だがCOM最高だな
JScriptで超脱力オートメンションプログラミング
Charcoal Oil Mix
だっけ?
石炭と石油を混合した燃料を使うとお得とかそういう話。
69 :
MASM信者:2006/03/29(水) 20:54:54
ほのかに懐かしいかほりがするスレはここですか?
MASMなんて使わずDEBUGでゴリゴリ
ORG 100h
HALT
>>70 C:\>debug
-a
2D68:0100 mov eax,0
^ エラー
2D68:0100
WinXP の debug は 32bit に対応してません。
Vista を待ちましょう。
OTZ 100h
Oz
COMググって一所懸命ネタ探して乙
>>75 MS-DOS2.11の時代から現役です。
ファンクションコールがINT 21hだったのは覚えてるけど、
さすがにどの機能がALいくつだったかは忘れました。
77 :
デフォルトの名無しさん:2006/03/31(金) 22:34:16
SOAPは?
>>76 ahじゃなかったっけ?
02hを出力に、01hを入力に、4chを終了に使った記憶がある。
40h周辺はファイル操作だったような。
誰か教えてくれ
>>79 今でもこのコードはEXEのヘッダー部分で健在だね。
PUSH CS
POP DS
MOV DX,000E <- ココ
MOV AH,09
INT 21
MOV AX,4C01
INT 21
DB 'This program cannot be run in DOS mode.', 0DH, 0AH, '$'
「ココ」のコードがなぞだがバイト数あわせか。
>>80 いや全然謎じゃなかった。
'This program cannot be run in DOS mode.', 0DH, 0AH, '$'
のアドレスだった。
AH = 40H はファイルへの書き出しあってる。
エンドマークが'$'っつー妙なシステムコール
いまごろCOM勉強してる俺って・・・
OfficeやIEの寄生虫としては生き残らないか?
ヒント:氏亡フラグ
86 :
デフォルトの名無しさん:2006/06/19(月) 21:50:26
COMって今はサービスコンポーネントっていうんですか?
サービスコンポーネントは死んでないの?
COM+って使ってる人どれくらいいるんだろう?
槍槍栗栗槍槍栗栗 槍槍栗とリス ♪
COM自体は悪くないと思うが、ActiveXがアレだな。
1)遠距離通信 Web & Web Serviceまんせ〜
2)WEB配信のコンポーネント ActiveXもJavaAppletもいらね。Flashでええがな。
3)アプリサーバー 分散トランザクションコーディネータとしてなんとか△
4)シェルやブラウザやコンテナ系アプリへのアドイン○
5)プログラム部品としてのコンポーネント CLIまんせ〜
6)プログラムのライブラリ 普通の言語レベルの機能でええやろ
守備範囲はずいぶん減った。
4はXPCOMのような応用例もあるからまだいけるかも。
>>5 CLI というか VisualStudio で CLI 使うときの下請けにCOMは案外便利。
TYPELIB があればラッパクラスを自動的に作ってくれるから。
92 :
デフォルトの名無しさん:2006/07/04(火) 03:33:49
93 :
デフォルトの名無しさん:2006/07/15(土) 01:50:23
COM Essentialで
void foo(void)
{
IPug * pPug;
hr = pUnk->QueryInterface(IID_IPug, (void**)&pPug);
if(FAILED(hr)) goto clean_exit;
・・・
clean_exit:
pPug->Release();
}
見たいな事が書かれていたんだけどQueryInterface失敗したら
取得できなかったインターフェースの開放はありえないよな?
それともIPugのポインタが返って、参照カウントも上がった状態でS_FALSEが返ることがある?
>>93 スレ違いのような来もするが:
・QI に失敗したらインタフェイスは取得できていない。ので解放しない。
・S_FALSE は失敗ではない。
・たぶん COM Essential (Essential COM?)のコードは合っていて、↑は写し間違い。
終わった今になって振り返れば、
COMってややこしそうなことによる弊害の方が大きかったね。
うん。
これからはSOAPでWEBサービスですよw
もっとプラグインに特化した作りにすれば良かったな。
やろうと思えば、いろいろできすぎて、目標が定まってない感じ。
IEがfirefoxばりに拡張できたらなぁ。
> 目標が定まってない感じ。
(少なくとも最終的には)それがCOMの狙いだと思うぞ。
バイナリインターフェイスが定まっていて多言語から扱えること
インプロセス・アウトプロセスなどの区別無くオブジェクトを扱えること
これがCOMの本質だと俺は思っているが。
成功すれば長所、失敗すれば短所。表裏一体だな。
失敗したのか?
ものすごく成功したコンポーネント技術の実装だと思うけどなぁ・・・
事実上 Windows オンリーなので汎用性は低いけど。
101 :
97:2006/07/25(火) 12:36:17
>>98 もちろんMSはそれを狙ってたし、COMの本質の認識もその通りだと思う。
自分が言いたいのは、それが戦略的に良くなかったって事。
102 :
デフォルトの名無しさん:2006/07/25(火) 12:45:44
COMが失敗した、終了だ、というということは今後Windowsの
COMで提供されていたサービスはAPIに戻るということ?
103 :
デフォルトの名無しさん:2006/07/25(火) 16:00:09
WinFXがCOMより先に脂肪してしまったではないのw
104 :
97:2006/07/25(火) 16:40:53
COMが死んだというより、OfficeやAdobeみたいな
大型かつ誰もが使うようなアプリでしか使われなかったということだろう。
結局、普通のライブラリにしたって、そこら中で車輪の再発名しまくりな状況だし、
スタンダードと認識できるもの以外は誰も使い回さないってことじゃないか。
LISPのコピペこそが最強な気がする
たしかにそうだ。
オートメーション/ActiveXのほかにはDirectX位しかCOMを使っているものって思いつかない。
後はマイナーなMSのライブラリとシェル拡張くらいか。
でもそいつらはこの上なく便利だけどね。
COMはコンポーネントを2次業者が自由に配布できる仕組みがないからな。
Adobeのコンポーネントを自分のアプリケーションから使おうと思ったら、
ユーザーにAdobeの製品を丸々インストールしてもらわないといけない。
まあ、もっと軽量なActiveXコンポーネントだったら、
同梱してインストーラでレジストリに登録とかできるだろうけどね。
COMとして重宝されてる一番の例はIEコンポか。
Irvineとかは?
AvedeskってCOM使ってなかったっけ
MSXMLも結構使われている。
プログラム部品としてのコンポーネントが失敗してるのは、内製したほうが安いからじゃないか?
労働力はサービス残業でタダだし。MS製はタダだから結構使われる、と。
ちょっくらタブブラウザについてのお勉強してみたいかなー、とか思ったんだけど
COMについていいサイトってある?できれば日本語で
こんなこと言ってる時点でダメすぎなのはわかってますよ、ええ・・・
113 :
デフォルトの名無しさん:2006/07/30(日) 08:37:21
スマン、あげとくです
COMに関するスレがここしか見当たらないので、ここで質問させていただきます。
コネクションポイントからのイベントを受けるシンクオブジェクトは、CoInitialize()で初期化しなければならないんでしょうか?
CoInitializeはオブジェクトに対してではなくCOMを使用するスレッドが最初に呼び出すもの。
117 :
デフォルトの名無しさん:2006/07/31(月) 20:22:18
VBはIUnknownインターフェイスの情報ってどこから仕入れてるの?
C,C++ならUnknwn.Idlから生成されたUnknwn.hで型情報が分るけど、
VBはどこで見てるの?
>>81 OD,OAって、CR,LFだったような遠い記憶がする。
OD OAではなく0D 0Aだがな
>>117 適当にどこかのタイプライブラリから見ているのだろう。
idlってCOMクライアントアプリケーションの言語に依存しない独立した言語じゃなかった?
コンパイルするとクライアントアプリケーションで利用可能なファイルを生成するんだよね。
C,C++ならhやxxx_i.cとか。VB用なら.tlbファイルにコンパイルするのだろう。
tlbはタイプライブラリだからそのとおりだけど。
言語に非依存だけど、Windowsに非依存にならなかったから、終ったんだおね。
Win専用であれば普通のクラスライブラリの方がコーディングしやすくて性能も有利。
OLE,ActiveX,COMの違いが分からない
3.0,3.1 Me,XPみたいに
OSのバージョンを数字ではなく英字で書いてるようなもん?
俺はこう捉えている。
COM IUnknown始め、インターフェースでクラスオブジェクトをやり取りするための仕組み。
OLE(2)/ActiveXはその基盤にCOMを使った応用であり、
なんとなく複合ドキュメントあたりはOLE、
IDispatch関連や各種コントロールはAcitveXと呼ぶことが多い気がするけど、
きちんと境界があるわけではないので、厳密な区別は無い。
VB6のヘルプより。
「ActiveXコンポーネント」の「OLE サーバーとの相違点」トピック。
(前略)
ここで概説されている新機能の範囲の広さに合わせて、Visual Basic で
使用される用語も調整され、従来の OLE サーバーは、コンポーネントと
呼ばれるようになりました。
(中略)
従来の呼び方をそのまま使用してもかまいません。その場合は、
"ActiveX コンポーネント" を "OLE サーバー" と読み替えてください。
Effective COMの巻末に、「COM仕様書を読め」とありますが、当該ドキュメントはどこにあるのでしょうか?
.NETってCOMの延長線上にあるものでしょ?
128 :
久々に:2006/10/25(水) 00:12:47
OLE → ActiveX → COM → .NET
マイクロソフトのマーケティングの都合で
改名してるとしか思えん。
需要のあるDirectXなんて新しいものを入れ込んでも
数字を大きくするだけじゃん。
130 :
デフォルトの名無しさん:2006/10/25(水) 11:12:14
>.NETってCOMの延長線上にあるものでしょ?
c→c++みたいな互換性なら0、つまりモノが断絶してます。
さらに、開発手法も別物なので片方の知識を覚えても片方の役に立ちません。
いや、仕組みが全然違うのは分るけど、でも
言語非依存にあれだけ拘るのはCOMの伝統でしょ?
Microsoftの実装はお互い相互運用でやり取りできるから、.NETとCOMは結構密接に感じる。
たとえばVBScriptでこんなコードが書ける。VB/VC++にはmscorlib.tlbなどのタイプライブラリもある。
コード張り忘れた。
Option Explicit
Dim stack
Set stack = CreateObject("System.Collections.Stack")
With stack
Call .Push("Foo")
Call .Push("Bar")
WScript.Echo .Pop
WScript.Echo .Pop
End With
すげーな
感動した。
136 :
デフォルトの名無しさん:2006/11/25(土) 14:39:47
ActiveXコントロールってこれからも継続されるのかな?
特に売り物。
>>128 DirectXでもちゃんとQueryInterface使ってるところがあったりする
つうか順序が違う。
COM
OLE
ActiveX
.NET
これ何の順番?
勘違いの順番
141 :
デフォルトの名無しさん:2006/12/23(土) 17:26:33
>>133-134 おー、最近VBScriptで使い捨てのスクリプトを書いてるんだが
こんな風に.NETのクラスが利用できるとは。
俺のようなアマチュアには嬉しい情報
142 :
デフォルトの名無しさん:2006/12/23(土) 17:36:26
OLE
ActiveX
COM
.NET
こういう順番に開発されたのかと思ってた。自分の無知が恥ずかしいです。
でも正しい知識が得られてよかったです。ありがとう138さん!!!!
COMは、古くは江戸時代の頃から、COM僧によって日本各地に広められたとされる
>>142 マイクロソフトがマーケティング的に推してきた順に並べるとそうなると思う。
COMの語源は虚無だったのか。。
待てよ、ole.hを覗いてみたが、OLE1はCOMを使っていない。
OLE1 → COM付きでOLE2という順ではないのか。
OLE
OLE2 = COM = ActiveX
COM+
.NET Framework
2段目は横並びでいいはず。
OLEの拡張機能にOLE2と名前を付けたが実態と合わないので、
基盤技術をCOMとよび応用技術や製品をActiveXと呼ぶこととしたが、
OCXカスタムコントロール=ActiveXのイメージが強すぎてグタグタ。
ActiveXは明らかに後から出てきたもので、
「ActiveXコントロール」は「OLEコントロール」を拡張したもの。
なんで括弧でくくってるかというと、
MS自身が「ActiveXは特定の技術を指す名称ではない」と言っているから。
COMが普及する前は、COMはOLEにのみ使われていました。
OLEは難解だけどCOMはそれほど難解じゃない。
OLE1
↓拡張
OLE2 →部分要素→ COM ←相互運用← .NET
↓拡張
ActiveX
COM自体はNETと相互運用できるし、
OLE Automation は MSOfficeやIEの自動化で今でも頻繁に使う。
MS自身が.NETに移行できてないんだから仕方がない。
149 :
デフォルトの名無しさん:2006/12/24(日) 18:12:36
ActiveXは、技術用語なくて、マーケティング用語だと思う。つまり、宣伝用。
だから、使い出したMSもよく分かっていない。
COMコンポーネントとOLEオートメーションサーバの違いは?
OLEオートメーションサーバからイベントを受け取るために作成するのはCOMオブジェクト。
OLEオートメーションサーバの場合、
やっぱりインタフェイスはOLEオートメーション互換じゃなきゃいけないんじゃない?仁義として。
普通のCOMコンポーネントなら IDL で書けさえすりゃ何でもありだろうけど。
いやサーバ側の定義するインタフェースじゃなくて、
たとえばWord文書のBeforeSaveとかのイベントを受け取るために作成するCOMオブジェクトの話よ
OLE1.0→COM→VBX→OLE2.0→OCX→ActiveX→DCOM→COM+→.NET
COMのスレがここ以外マジで死滅した件
無くなると言われると意外にウェブブラウザの進化には重要だった希ガス。
Flashとか。
Ajaxが代用となってくのかな?
Ajaxは厳しいな〜。ある意味COMよりつらい。
JavaScriptに変わるまともなブラウザーベースの言語ができればよいけど。
http://pc10.2ch.net/test/read.cgi/tech/1167788121/ Visual Studio 2005のオートメーションの話です。
プロジェクトファイル(.csproj)のPropertyGroup中にエレメントを追加する方法はないですか?
IExtenderProviderつかうと↓みたいに追加されるんです。
<ProjectExtensions>
<VisualStudio>
<UserProperties Hoge = "banana">
</VisualStudio>
</ProjectExtensions>
160 :
デフォルトの名無しさん:2007/01/30(火) 09:06:46
CMSってなんですか
163 :
デフォルトの名無しさん:2007/02/11(日) 17:38:04
DCOM....設定綿土井
165 :
デフォルトの名無しさん:2007/02/14(水) 23:32:38
DCOMでよそのPCのExcelを起動できた時は感動したなあ
セキュリティ云々が問題になる前の時代の話
166 :
デフォルトの名無しさん:2007/02/15(木) 00:22:46
構造体やValueオブジェクトをやり取りする簡単な手段が無かったのが痛かった。
オブジェクトをそのまま返すとインターフェイスを渡すだけだからValueオブジェクトにならない。
ローカルなCOMだとプロパティから1つずつ取り出せばいいが、
DCOMだとその回数だけ通信が発生するから遅いのなんのって。
167 :
デフォルトの名無しさん:2007/03/08(木) 15:30:44
.NETがだめなのを見てCOMがこれからもう一度再評価されることを確信したよ
ヒント: AJAX
AJAXは.NET Fx 3.5に取り込まれることになってるな
>>163 あんた ネ申 かww
でも2005だけなのかな?
まぁ、試してみる。
171 :
デフォルトの名無しさん:2007/03/11(日) 04:56:15
APIにはドキュメントがあるのに、なんでCOM関連にはろくなドキュメントがないの?
APIのドキュメントもろくなもんじゃないけどな
少なくともMSDNライブラリでは特にCOMの文書がないということを感じたことはないぞ。
ワロタ
まさに外道
オブジェクト指向の話でよく車輪の再発明ってのが上がってくるが...
実は、車輪と呼べるものが発明されていないんだったりしてな...
単に、C++と相性が悪かったから滅びた。
レジストリに原因があると言ってくれと言っているようなもんだな
いやC++/ATL以上にCOMと相性のよい言語なんか無いが。
#importもかなり便利
くやしい…! でも…感じちゃう!(ビクッビクッ
・COMオブジェクトの参照カウンタが0になったときに、
そのオブジェクトが消え去る
・あるDLLに属しているCOMオブジェクトの生存数が0
になったときにそのDLLをアンロードしてほしい
この二つは全く別の話。
185 :
デフォルトの名無しさん:2007/10/11(木) 12:44:51
COMプログラミングってCだよね
Cで書けばCのプログラムになるね。
ATL基本
もともとはCだね
実はXMLでも書けるんじゃないかと
190 :
本田:2008/01/17(木) 17:56:01
>COMプログラマの解説書
>Crispin Goswell
>Microsoft Office Product Unit
>1995年 春
>1995年9月13日改訂
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdncomp/htm/com_co.asp >抄録
>この解説書は、
>Microsoft(r) OLE Component Object Model(COM)オブジェクトを作成し、
>効果的に使用する方法を説明しています。
>例文はほとんどCで書かれていますので、実際に何が行われているかが、大変分かりやすく示されています。
>プログラマの中には、オブジェクトを実行するためにC++を好んで使用する人もいるでしょう。
>C++プログラマの観点からCOMの概念および基本的な使用法を論じているのは
>Kraig Brockschmidt著のInside OLE (第2版)(MSDN Library(Books))です。
>COMとは何か、またその設計や哲学の後ろにある動機付けをより理解する事に興味がある読者なら、
>Component Object Model Specification(MSDN Library(Specifications))の最初の2章を読んでください。
>第1章には簡単なイントロダクションを、第2章では徹底的に概要を解説してあります。
>この解説書ではInside OLEとCOM Specificationにある情報を、
>COMオブジェクトを実装する良い方法をいくつか示しながら解説するようにしてあります。
191 :
デフォルトの名無しさん:2008/04/23(水) 23:20:56
comモデルまんせー
agennnahage
193 :
デフォルトの名無しさん:2008/07/06(日) 00:26:56
AcadVBA→MFC+COMのコードに移植したいんですけど、
簡単に変換できるソフトとかありませんか?
VARIANTI型とかいちいち宣言追加したりしないといけないし、とても時間かかるんです。><
絶対無いと思う
MFC+COMが簡単になるわけはないし、
COMってC++で扱いにく杉。
つ Delphi
つ ATL
いまだに、OCXのメンテナンスをしている俺って。
198 :
デフォルトの名無しさん:2008/07/24(木) 10:41:10
韓国はVista/IE7が出たときもActiveXのせいで移れないって話が盛んだった気がする。
ActiveX天国(地獄)か、一度観てみたいな
ActiveXやめてもほかの技術に依存したら同じなのにね
NetscapeのPluginだったらマシだったはず。オープンソースだし。
どうましだったのか具体的にいえますか?ww
マイクロソフトじゃないからまし。
でたwwwwwwwww
そうやって第二のMSが生み出され続ける
いや、そういう問題じゃなく、
ActiveXってクライアントPCでExe並になんでもできちゃうわけ。
ActiveXは署名技術でがんじがらめにするしかなかった。
よほどよく知られた会社のよく知られたアプリ以外に署名を受け入れるようなユーザーはそういない。
結局、名の知れたプラグインを配布する技術として残った。
△ 結局、名の知れたプラグインを配布する技術として残った。
○ 結局、アドビのPDFとマクロメディアのFLASHのプラグインを配布する技術として残った。
セキュリティソフト系の会社のネットスキャンも結構受け入れられてね?
セキュリティソフトと見せかけたスパイウェアですね、わかります。
>>208 結局、アドビの為だけの技術ってことかw
アドビは行儀が悪く、しかもウザイので入れない。
はいはい
そもそもCOMなんていらない。
いや、あってもいいが、Windowsの標準的な機構に取り入れすぎた。
COMの力を本当に借りなければいけないシーンがいったいどれだけあるのか。
クライアントPC内でほとんどプロセス内サーバで十分なら従来のDLLで関数をエクスポートする方法でいい。
クラスをエクスポートする必要など無い。
エクスポートするべき関数セットを定義してさえあればそれでよいじゃないか。
第一ベンダーも異なるソフトウエア同士が強調して動作するシーンならほかにもある。
ドライバーだ。あれはCOMじゃないぞ?
COMなんか使わなければアプリケーションはもっと素早く連係動作できるし実装だって楽だ。
VBとかjavaから使いたいなら、それらのエクスポートされた関数をラップするCOMでも用意すれば良かったんだ。
そもそもVBなんて小汚い文法の言語はさっさと捨てるべきなんだよ。
てす
216 :
デフォルトの名無しさん:2010/05/09(日) 23:40:01
>関数をラップするCOMでも用意すれば良かったんだ。
結局comは必要なわけねw
>>163 これは単にThreadingModelが合ってないだけでは?
fctest10.cpp
CoInitialize(NULL);
FcTest1.h
threading(free),
この組み合わせではマーシャリングが発生してしまう。
Side-by-sideの場合のThreadingModelがどうなるのか分からんけど。
未指定ならThreadingModel=none相当になって、primary STAにインスタンスが作られるから、
マーシャリングが発生しなくて早くなると。
>>214 JScriptからもCOMを使いたいのだす
いろんなところが同じようなことを目指したが、まともに実装/実践したのはMicrosoftだけ。
今は、もっと不効率な方法でも実用に耐えるようになったけど。
>まともに実装/実践したのは
M$DNセミナーで、COMはBSD UNIX対応すると、何度もアナウンスして実現できなかったわけだが。
同時期、ローカルのRDB用COMコンポーネント(ローカルでSQLいくつも実行してサーバーにそれを纏めて送る)とか、
VJ++脂肪とか、ドトネトパスポートもシパーイと頓挫続きだった。
x できなかった
o できるのにしなかった
いや、BSD UNIX対応は年を越えてアナウンスしてたが、実現できなかったんだよ。
UNIXでCOMが動いていれば、COMが消えるどころか標準規格に昇格してるだろw
COM/DCOMの独自性があるとすれば、インプロセス、アウトプロセス、ネットワークを
全部プロキシで統合してることかな?
ネットワーク分散オブジェクトならCORBAが標準だし
インプロセスではMozillaのパチモンNSCOMとかあるよね
インプロセスCOMの存在意義は、つきつめればC++のABIの問題回避という面が
大きかったのではないかと俺は思う
C++でまともに(ただの関数インタフェースではない)DLL組もうとすると、
レジストリによってファクトリーを統合するなんて仕掛けは作らないにしても、
結局COMに非常に似たものが出来上がる、というかそうせざるを得ない
CORBAの実装が遅すぎ。
225 :
【吉】 【798円】 :2011/01/01(土) 19:04:54
なんでCOMって最強なんでしょうか