どうしてCOMは即死したのか

このエントリーをはてなブックマークに追加
177デフォルトの名無しさん:2007/05/19(土) 18:36:37
オブジェクト指向の話でよく車輪の再発明ってのが上がってくるが...

実は、車輪と呼べるものが発明されていないんだったりしてな...
178デフォルトの名無しさん:2007/05/19(土) 22:24:05
単に、C++と相性が悪かったから滅びた。
179デフォルトの名無しさん:2007/05/19(土) 22:55:51
レジストリに原因があると言ってくれと言っているようなもんだな
180デフォルトの名無しさん:2007/05/20(日) 08:46:53
いやC++/ATL以上にCOMと相性のよい言語なんか無いが。
181デフォルトの名無しさん:2007/05/20(日) 09:06:12
#importもかなり便利
182デフォルトの名無しさん:2007/09/06(木) 21:42:36
くやしい…!  でも…感じちゃう!(ビクッビクッ
183デフォルトの名無しさん:2007/09/08(土) 00:08:01
・COMオブジェクトの参照カウンタが0になったときに、
 そのオブジェクトが消え去る

・あるDLLに属しているCOMオブジェクトの生存数が0
 になったときにそのDLLをアンロードしてほしい

この二つは全く別の話。
184デフォルトの名無しさん:2007/09/21(金) 01:15:21
>>133に亀で感動。
185デフォルトの名無しさん:2007/10/11(木) 12:44:51
COMプログラミングってCだよね
186デフォルトの名無しさん:2007/10/11(木) 18:25:33
Cで書けばCのプログラムになるね。
187デフォルトの名無しさん:2007/12/28(金) 12:55:36
ATL基本
188デフォルトの名無しさん:2008/01/06(日) 00:03:06
もともとはCだね
189デフォルトの名無しさん:2008/01/12(土) 21:07:45
実は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モデルまんせー
192デフォルトの名無しさん:2008/04/24(木) 18:28:15
agennnahage
193デフォルトの名無しさん:2008/07/06(日) 00:26:56
AcadVBA→MFC+COMのコードに移植したいんですけど、
簡単に変換できるソフトとかありませんか?
VARIANTI型とかいちいち宣言追加したりしないといけないし、とても時間かかるんです。><
194デフォルトの名無しさん:2008/07/06(日) 04:55:34
絶対無いと思う
195デフォルトの名無しさん:2008/07/08(火) 10:40:42
MFC+COMが簡単になるわけはないし、
COMってC++で扱いにく杉。


つ Delphi
196デフォルトの名無しさん:2008/07/12(土) 09:57:46
つ ATL
197デフォルトの名無しさん:2008/07/12(土) 11:30:49
いまだに、OCXのメンテナンスをしている俺って。
198デフォルトの名無しさん:2008/07/24(木) 10:41:10
>韓国ではFirefox 3が使い物にならない理由
>ttp://pc.nikkeibp.co.jp/article/column/20080724/1006299/
マイクロソフトさえもセキュリティの問題からActiveXを縮小しようとしているのに、韓国では依然とWebの標準技術でもなく、マイクロソフトの技術であるActiveXに固執している。
199デフォルトの名無しさん:2008/07/24(木) 20:53:32
韓国はVista/IE7が出たときもActiveXのせいで移れないって話が盛んだった気がする。
200デフォルトの名無しさん:2008/07/24(木) 20:57:38
ActiveX天国(地獄)か、一度観てみたいな
201デフォルトの名無しさん:2008/08/02(土) 20:53:37
ActiveXやめてもほかの技術に依存したら同じなのにね
202デフォルトの名無しさん:2008/08/02(土) 21:34:09
NetscapeのPluginだったらマシだったはず。オープンソースだし。
203デフォルトの名無しさん:2008/08/02(土) 22:37:43
どうましだったのか具体的にいえますか?ww
204デフォルトの名無しさん:2008/08/03(日) 23:13:15
マイクロソフトじゃないからまし。
205デフォルトの名無しさん:2008/08/03(日) 23:43:44
でたwwwwwwwww
そうやって第二のMSが生み出され続ける
206デフォルトの名無しさん:2008/08/04(月) 09:57:48
いや、そういう問題じゃなく、
ActiveXってクライアントPCでExe並になんでもできちゃうわけ。
207デフォルトの名無しさん:2008/08/04(月) 10:39:27
ActiveXは署名技術でがんじがらめにするしかなかった。
よほどよく知られた会社のよく知られたアプリ以外に署名を受け入れるようなユーザーはそういない。
結局、名の知れたプラグインを配布する技術として残った。
208デフォルトの名無しさん:2008/08/04(月) 10:41:00
△ 結局、名の知れたプラグインを配布する技術として残った。
○ 結局、アドビのPDFとマクロメディアのFLASHのプラグインを配布する技術として残った。
209デフォルトの名無しさん:2008/08/04(月) 12:18:30
セキュリティソフト系の会社のネットスキャンも結構受け入れられてね?
210デフォルトの名無しさん:2008/08/05(火) 09:32:11
セキュリティソフトと見せかけたスパイウェアですね、わかります。
211デフォルトの名無しさん:2008/10/22(水) 17:30:59
>>208
結局、アドビの為だけの技術ってことかw
212デフォルトの名無しさん:2008/11/13(木) 02:44:55
アドビは行儀が悪く、しかもウザイので入れない。
213デフォルトの名無しさん:2009/03/19(木) 13:36:08
はいはい
214デフォルトの名無しさん:2009/07/31(金) 03:16:18
そもそもCOMなんていらない。
いや、あってもいいが、Windowsの標準的な機構に取り入れすぎた。
COMの力を本当に借りなければいけないシーンがいったいどれだけあるのか。
クライアントPC内でほとんどプロセス内サーバで十分なら従来のDLLで関数をエクスポートする方法でいい。
クラスをエクスポートする必要など無い。
エクスポートするべき関数セットを定義してさえあればそれでよいじゃないか。
第一ベンダーも異なるソフトウエア同士が強調して動作するシーンならほかにもある。
ドライバーだ。あれはCOMじゃないぞ?
COMなんか使わなければアプリケーションはもっと素早く連係動作できるし実装だって楽だ。
VBとかjavaから使いたいなら、それらのエクスポートされた関数をラップするCOMでも用意すれば良かったんだ。
そもそもVBなんて小汚い文法の言語はさっさと捨てるべきなんだよ。
215デフォルトの名無しさん:2010/03/30(火) 14:25:05
てす
216デフォルトの名無しさん:2010/05/09(日) 23:40:01
>関数をラップするCOMでも用意すれば良かったんだ。 

結局comは必要なわけねw
217デフォルトの名無しさん:2010/05/10(月) 02:34:41
>>163
これは単にThreadingModelが合ってないだけでは?
fctest10.cpp
CoInitialize(NULL);
FcTest1.h
threading(free),
この組み合わせではマーシャリングが発生してしまう。

Side-by-sideの場合のThreadingModelがどうなるのか分からんけど。
未指定ならThreadingModel=none相当になって、primary STAにインスタンスが作られるから、
マーシャリングが発生しなくて早くなると。
218デフォルトの名無しさん:2010/05/10(月) 09:00:10
>>214
JScriptからもCOMを使いたいのだす
219デフォルトの名無しさん:2010/05/10(月) 11:05:22
いろんなところが同じようなことを目指したが、まともに実装/実践したのはMicrosoftだけ。
今は、もっと不効率な方法でも実用に耐えるようになったけど。
220デフォルトの名無しさん:2010/05/10(月) 11:17:22
>まともに実装/実践したのは

M$DNセミナーで、COMはBSD UNIX対応すると、何度もアナウンスして実現できなかったわけだが。

同時期、ローカルのRDB用COMコンポーネント(ローカルでSQLいくつも実行してサーバーにそれを纏めて送る)とか、
VJ++脂肪とか、ドトネトパスポートもシパーイと頓挫続きだった。
221デフォルトの名無しさん:2010/05/10(月) 11:18:58
x できなかった
o できるのにしなかった
222デフォルトの名無しさん:2010/05/10(月) 11:23:26
いや、BSD UNIX対応は年を越えてアナウンスしてたが、実現できなかったんだよ。

UNIXでCOMが動いていれば、COMが消えるどころか標準規格に昇格してるだろw
223デフォルトの名無しさん:2010/05/10(月) 11:34:51
COM/DCOMの独自性があるとすれば、インプロセス、アウトプロセス、ネットワークを
全部プロキシで統合してることかな?

ネットワーク分散オブジェクトならCORBAが標準だし
インプロセスではMozillaのパチモンNSCOMとかあるよね

インプロセスCOMの存在意義は、つきつめればC++のABIの問題回避という面が
大きかったのではないかと俺は思う
C++でまともに(ただの関数インタフェースではない)DLL組もうとすると、
レジストリによってファクトリーを統合するなんて仕掛けは作らないにしても、
結局COMに非常に似たものが出来上がる、というかそうせざるを得ない
224デフォルトの名無しさん:2010/05/10(月) 11:55:50
CORBAの実装が遅すぎ。
225 【吉】 【798円】 :2011/01/01(土) 19:04:54
226デフォルトの名無しさん
なんでCOMって最強なんでしょうか