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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
.NET で作られた有名ソフトって何がある?
http://pc8.2ch.net/test/read.cgi/tech/1027559190/

724 名前:デフォルトの名無しさん[sage] 投稿日:2006/03/24(金) 12:25:47
COMスレ立ててそっちでやってくれよ
2デフォルトの名無しさん:2006/03/24(金) 12:37:48
オートメーションサーバあたりでプログラマが即死したからだと思う。
3デフォルトの名無しさん:2006/03/24(金) 12:43:43
これからCOMはどうなると思う?
もうネイティブで書く意味は無いと思う?
4デフォルトの名無しさん:2006/03/24(金) 12:45:17
本当に立てるとは思わなかった
5デフォルトの名無しさん:2006/03/24(金) 12:45:54
馬鹿にはついて行けない複雑さだったからなあ
6デフォルトの名無しさん:2006/03/24(金) 12:49:55
>>5 それ、俺のことだ。
7デフォルトの名無しさん:2006/03/24(金) 12:50:20
20年近いのに即死ですか
8デフォルトの名無しさん:2006/03/24(金) 12:54:39
COMって何ですか?素人なんでわかりません!
9デフォルトの名無しさん:2006/03/24(金) 12:57:05
韓国の5000年の歴史に比べれば一瞬の出来事だな。
10デフォルトの名無しさん:2006/03/24(金) 12:58:10
まあ、あれだ
お金がないから海岸で拾ったワカメの茎を塩茹でしてかじる
たいした味がないから食べるほどにひもじくなる。
そんな抽象的な概念だべ
11デフォルトの名無しさん:2006/03/24(金) 13:03:26
EXEと違って64KB以内におさめないといけないのが大変だよな
12デフォルトの名無しさん:2006/03/24(金) 13:14:35
>>11
.cmd ってのがなかったっけ?と思ったが
良く考えたらありゃ CP/M-86 か。
13デフォルトの名無しさん:2006/03/24(金) 13:19:02
>>11 え?COM ってその COM の話だったのか??
14デフォルトの名無しさん:2006/03/24(金) 13:24:22
.COM企業か
何もかも懐かしい
15デフォルトの名無しさん:2006/03/24(金) 13:56:59
      _, -‐-、___
     /  `   ` _ )
   / ̄  _,,ニ=‐─'´ー''',、
   ゝ-┬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 中国)
16デフォルトの名無しさん:2006/03/24(金) 13:59:18
ORG 100H
17デフォルトの名無しさん:2006/03/24(金) 14:08:38
EXE2BIN
18デフォルトの名無しさん:2006/03/24(金) 15:06:08
FCD2ISO
19デフォルトの名無しさん:2006/03/24(金) 15:26:06
>>18 それはぜんぜん違うだろうが(笑
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
ったく、どいつもこいつも嘘ばっか書きやがって。
↓ほら、これがCOMだ。
ttp://ja.wikipedia.org/wiki/COM_%28%E9%9B%91%E8%AA%8C%29

>COM(コム)は、1967年から1973年まで発刊された漫画雑誌。
>「描きたいものが書ける雑誌」および「新人を育てる雑誌」として、
>手塚治虫が、虫プロ友の会発行の会報「鉄腕アトムクラブ」を
>発展解消する形で創刊した。
24デフォルトの名無しさん:2006/03/24(金) 17:03:12
昔東芝がひっかかってたよな。
25デフォルトの名無しさん:2006/03/24(金) 17:05:39
>>24 それ、ココムじゃね?
26デフォルトの名無しさん:2006/03/24(金) 17:10:09
長嶋茂雄がCMやってたよな
27デフォルトの名無しさん:2006/03/24(金) 17:13:22
>>26それはセコムだよな?
28デフォルトの名無しさん:2006/03/24(金) 17:14:28
ららら無人くん?
29デフォルトの名無しさん:2006/03/24(金) 17:16:13
>>28 それ、アコムじゃね?
30デフォルトの名無しさん:2006/03/24(金) 17:18:56
違う違う
富士通のミニコンだよ
31デフォルトの名無しさん:2006/03/24(金) 17:28:35
FACOM
32デフォルトの名無しさん:2006/03/24(金) 17:47:46
こないだペンタブレット買った
33デフォルトの名無しさん:2006/03/24(金) 17:52:20
つまらんな
34デフォルトの名無しさん:2006/03/24(金) 18:04:41

.com ⇒ .net
35デフォルトの名無しさん:2006/03/24(金) 18:22:39
DEBUGってWindowsXPになっても搭載されてるんだよね。
36デフォルトの名無しさん:2006/03/24(金) 18:39:14
>>35 今はじめて知った。
37デフォルトの名無しさん:2006/03/24(金) 19:54:50
時代遅れだから。
リフレクションで、MacにもJavaにもおくれてたし。
3832:2006/03/24(金) 21:13:19
orz
39デフォルトの名無しさん:2006/03/24(金) 22:52:19
それで、コムって何?
40デフォルトの名無しさん:2006/03/24(金) 23:00:37
マイクロソフトが社運を賭けた技術のひとつ
41デフォルトの名無しさん:2006/03/24(金) 23:16:30
またCOMとOLEを間違っているスレか
42デフォルトの名無しさん:2006/03/25(土) 01:22:32
まだコムの説明がなされてません
43デフォルトの名無しさん:2006/03/25(土) 01:31:45
>>32=38
WACOMな……
強く生きれ……
44デフォルトの名無しさん:2006/03/25(土) 03:11:08
COM即死ってほどでもないじゃんwwww
DirectXだってずっと長生きしてるしwwww
45デフォルトの名無しさん:2006/03/25(土) 03:32:52
てか長生きし過ぎ。
とっとと次世代に移れつーの。
46デフォルトの名無しさん:2006/03/25(土) 03:42:49
DirectX 1/WinGからはじまって、はげしく即死しまくってるのだが。
47デフォルトの名無しさん:2006/03/25(土) 03:51:39
ActiveXとかCOMつかうとなにがお徳なの?
48デフォルトの名無しさん:2006/03/25(土) 04:16:28
OLEもOLE2もCOMもActiveXも今はNE(E)Tです。
49デフォルトの名無しさん:2006/03/25(土) 04:29:33
VB=COM
50デフォルトの名無しさん:2006/03/25(土) 05:46:13
>>47
exeやDLLの利用規約(インターフェイス)を山のようにゴテゴテと定めたものがCOM
51デフォルトの名無しさん:2006/03/25(土) 11:11:13
【OLE】オートメーション総合スレ【ActiveX】
http://pc8.2ch.net/test/read.cgi/tech/1137771139/

こちらもよろしくね。
52デフォルトの名無しさん:2006/03/25(土) 12:21:29
即死がCOMの命 delete this;
53デフォルトの名無しさん:2006/03/25(土) 13:03:47
「死せるCOM、生けるドトネトを走らす」
54デフォルトの名無しさん:2006/03/25(土) 16:50:51
ドトネトもそうMSの思い通りに普及してないようなきもする
55デフォルトの名無しさん:2006/03/25(土) 16:55:39
どうしてスレと逆の話ばかりしたがるかな。
56デフォルトの名無しさん:2006/03/26(日) 22:47:25
どうしてこう検索しづらい名前をつけるかね?

COMしかり、.Netしかり。

aspだって拡張子と同じだからファイルそのものがひっかかる


57デフォルトの名無しさん:2006/03/26(日) 22:58:49
>>56
googleなめんな。
58デフォルトの名無しさん:2006/03/26(日) 23:19:40
IUnknownとかで検索すればいいんだけどな
59デフォルトの名無しさん:2006/03/26(日) 23:33:56
pUnkをパンクと読んでいいですか
60デフォルトの名無しさん:2006/03/26(日) 23:41:11
>>56
最強に検索しにくいのはCだなw
61デフォルトの名無しさん:2006/03/27(月) 00:30:08
どうしてWindowsDNAは即死したのか

なら意味分かるけど。

DNAで検索スレば(ry
62デフォルトの名無しさん:2006/03/27(月) 11:10:57
>>56
次あたり、意図的に ORG とか GOV とか出して来ると見た。
63デフォルトの名無しさん:2006/03/27(月) 19:57:09
いっそのことexeにしてしまえと
64デフォルトの名無しさん:2006/03/29(水) 00:04:45
名案だ
65デフォルトの名無しさん:2006/03/29(水) 17:33:24
COMってなに?
66デフォルトの名無しさん:2006/03/29(水) 17:39:19
command.com
67マイク ◆yrBrqfF1Ew :2006/03/29(水) 17:46:50
今更だがCOM最高だな
JScriptで超脱力オートメンションプログラミング
68デフォルトの名無しさん:2006/03/29(水) 18:45:25
Charcoal Oil Mix
だっけ?
石炭と石油を混合した燃料を使うとお得とかそういう話。
69MASM信者:2006/03/29(水) 20:54:54
ほのかに懐かしいかほりがするスレはここですか?
70デフォルトの名無しさん:2006/03/29(水) 21:19:32
MASMなんて使わずDEBUGでゴリゴリ
71デフォルトの名無しさん:2006/03/30(木) 08:46:18
ORG 100h
HALT
72デフォルトの名無しさん:2006/03/30(木) 12:03:24
>>70
  C:\>debug
  -a
  2D68:0100 mov eax,0
              ^ エラー
  2D68:0100
WinXP の debug は 32bit に対応してません。
Vista を待ちましょう。
73デフォルトの名無しさん:2006/03/30(木) 20:39:56
OTZ 100h
74デフォルトの名無しさん:2006/03/30(木) 21:03:45
Oz
75デフォルトの名無しさん:2006/03/31(金) 08:43:21
COMググって一所懸命ネタ探して乙
76デフォルトの名無しさん:2006/03/31(金) 10:23:54
>>75
MS-DOS2.11の時代から現役です。
ファンクションコールがINT 21hだったのは覚えてるけど、
さすがにどの機能がALいくつだったかは忘れました。

77デフォルトの名無しさん:2006/03/31(金) 22:34:16
SOAPは?
78デフォルトの名無しさん:2006/04/14(金) 13:34:02
>>15
不覚にもワロス
79デフォルトの名無しさん:2006/05/11(木) 21:52:49
>>76
ahじゃなかったっけ?
02hを出力に、01hを入力に、4chを終了に使った記憶がある。
40h周辺はファイル操作だったような。

誰か教えてくれ
80デフォルトの名無しさん:2006/05/15(月) 12:41:36
>>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, '$'
「ココ」のコードがなぞだがバイト数あわせか。
81デフォルトの名無しさん:2006/05/15(月) 12:52:04
>>80
いや全然謎じゃなかった。
'This program cannot be run in DOS mode.', 0DH, 0AH, '$' 
のアドレスだった。
AH = 40H はファイルへの書き出しあってる。
82デフォルトの名無しさん:2006/05/23(火) 22:55:18
エンドマークが'$'っつー妙なシステムコール
83デフォルトの名無しさん:2006/05/24(水) 01:02:52
いまごろCOM勉強してる俺って・・・
OfficeやIEの寄生虫としては生き残らないか?
84デフォルトの名無しさん:2006/05/24(水) 13:09:43
ヒント:氏亡フラグ
85デフォルトの名無しさん:2006/06/09(金) 22:30:15
↓芸無し、40代独身デブニート(素人)童貞、近藤妥の特徴
 
http://booklog.kinokuniya.co.jp/hayase/archives/2006/05/post_50.html
●自分に甘く、他人に厳しい 
●努力せずに成果が欲しい 
●すぐにいらつき、キレる 
●無気力、鬱になりやすい 
●「悪い」と思っても謝らない
86デフォルトの名無しさん:2006/06/19(月) 21:50:26
COMって今はサービスコンポーネントっていうんですか?
サービスコンポーネントは死んでないの?
COM+って使ってる人どれくらいいるんだろう?

87デフォルトの名無しさん:2006/06/19(月) 21:53:55
槍槍栗栗槍槍栗栗 槍槍栗とリス ♪
88デフォルトの名無しさん:2006/06/19(月) 23:00:15
COM自体は悪くないと思うが、ActiveXがアレだな。
89デフォルトの名無しさん:2006/06/20(火) 00:12:25
1)遠距離通信 Web & Web Serviceまんせ〜 
2)WEB配信のコンポーネント ActiveXもJavaAppletもいらね。Flashでええがな。
3)アプリサーバー 分散トランザクションコーディネータとしてなんとか△
4)シェルやブラウザやコンテナ系アプリへのアドイン○
5)プログラム部品としてのコンポーネント CLIまんせ〜
6)プログラムのライブラリ 普通の言語レベルの機能でええやろ
守備範囲はずいぶん減った。
4はXPCOMのような応用例もあるからまだいけるかも。
90デフォルトの名無しさん:2006/06/20(火) 14:21:58
>>5
CLI というか VisualStudio で CLI 使うときの下請けにCOMは案外便利。
TYPELIB があればラッパクラスを自動的に作ってくれるから。
91デフォルトの名無しさん:2006/07/01(土) 02:09:16
>>86
Windows使ってる全ての人
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が返ることがある?

94デフォルトの名無しさん:2006/07/20(木) 13:43:46
>>93
スレ違いのような来もするが:
・QI に失敗したらインタフェイスは取得できていない。ので解放しない。
・S_FALSE は失敗ではない。
・たぶん COM Essential (Essential COM?)のコードは合っていて、↑は写し間違い。
95デフォルトの名無しさん:2006/07/24(月) 22:01:26
終わった今になって振り返れば、
COMってややこしそうなことによる弊害の方が大きかったね。
96デフォルトの名無しさん:2006/07/24(月) 22:05:54
うん。
これからはSOAPでWEBサービスですよw
97デフォルトの名無しさん:2006/07/24(月) 22:44:03
もっとプラグインに特化した作りにすれば良かったな。
やろうと思えば、いろいろできすぎて、目標が定まってない感じ。
IEがfirefoxばりに拡張できたらなぁ。
98デフォルトの名無しさん:2006/07/25(火) 00:13:11
> 目標が定まってない感じ。
(少なくとも最終的には)それがCOMの狙いだと思うぞ。

バイナリインターフェイスが定まっていて多言語から扱えること
インプロセス・アウトプロセスなどの区別無くオブジェクトを扱えること
これがCOMの本質だと俺は思っているが。
99デフォルトの名無しさん:2006/07/25(火) 00:23:04
成功すれば長所、失敗すれば短所。表裏一体だな。
100デフォルトの名無しさん:2006/07/25(火) 12:16:54
失敗したのか?
ものすごく成功したコンポーネント技術の実装だと思うけどなぁ・・・
事実上 Windows オンリーなので汎用性は低いけど。
10197: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
10497:2006/07/25(火) 16:40:53
COMが死んだというより、OfficeやAdobeみたいな
大型かつ誰もが使うようなアプリでしか使われなかったということだろう。
結局、普通のライブラリにしたって、そこら中で車輪の再発名しまくりな状況だし、
スタンダードと認識できるもの以外は誰も使い回さないってことじゃないか。
105デフォルトの名無しさん:2006/07/25(火) 17:14:09
LISPのコピペこそが最強な気がする
106デフォルトの名無しさん:2006/07/25(火) 17:32:04
たしかにそうだ。
オートメーション/ActiveXのほかにはDirectX位しかCOMを使っているものって思いつかない。
後はマイナーなMSのライブラリとシェル拡張くらいか。
でもそいつらはこの上なく便利だけどね。
107デフォルトの名無しさん:2006/07/25(火) 17:50:36
COMはコンポーネントを2次業者が自由に配布できる仕組みがないからな。
Adobeのコンポーネントを自分のアプリケーションから使おうと思ったら、
ユーザーにAdobeの製品を丸々インストールしてもらわないといけない。
108デフォルトの名無しさん:2006/07/25(火) 17:57:28
まあ、もっと軽量なActiveXコンポーネントだったら、
同梱してインストーラでレジストリに登録とかできるだろうけどね。
109デフォルトの名無しさん:2006/07/25(火) 18:10:36
COMとして重宝されてる一番の例はIEコンポか。
110デフォルトの名無しさん:2006/07/25(火) 20:07:38
Irvineとかは?
AvedeskってCOM使ってなかったっけ
111デフォルトの名無しさん:2006/07/26(水) 11:10:09
MSXMLも結構使われている。

プログラム部品としてのコンポーネントが失敗してるのは、内製したほうが安いからじゃないか?
労働力はサービス残業でタダだし。MS製はタダだから結構使われる、と。
112デフォルトの名無しさん:2006/07/30(日) 08:36:46
ちょっくらタブブラウザについてのお勉強してみたいかなー、とか思ったんだけど
COMについていいサイトってある?できれば日本語で




こんなこと言ってる時点でダメすぎなのはわかってますよ、ええ・・・
113デフォルトの名無しさん:2006/07/30(日) 08:37:21
スマン、あげとくです
114デフォルトの名無しさん:2006/07/30(日) 14:43:49
>>112
とりあえず
ttp://www.asahi-net.or.jp/~kv8s-yjm/another/yjamain.htm
なんかがあるけど、急がば回れで Essential COM を読むのが個人的オススメ。
まあ「ちょっくら」にはふさわしくないかもしれんが
115デフォルトの名無しさん:2006/07/31(月) 00:58:14
COMに関するスレがここしか見当たらないので、ここで質問させていただきます。
コネクションポイントからのイベントを受けるシンクオブジェクトは、CoInitialize()で初期化しなければならないんでしょうか?

116デフォルトの名無しさん:2006/07/31(月) 02:33:07
CoInitializeはオブジェクトに対してではなくCOMを使用するスレッドが最初に呼び出すもの。
117デフォルトの名無しさん:2006/07/31(月) 20:22:18
VBはIUnknownインターフェイスの情報ってどこから仕入れてるの?
C,C++ならUnknwn.Idlから生成されたUnknwn.hで型情報が分るけど、
VBはどこで見てるの?
118デフォルトの名無しさん:2006/08/01(火) 12:34:17
>>81
OD,OAって、CR,LFだったような遠い記憶がする。
119デフォルトの名無しさん:2006/08/01(火) 14:50:45
OD OAではなく0D 0Aだがな
120デフォルトの名無しさん:2006/08/01(火) 15:48:15
>>117
適当にどこかのタイプライブラリから見ているのだろう。
121デフォルトの名無しさん:2006/08/01(火) 15:57:22
idlってCOMクライアントアプリケーションの言語に依存しない独立した言語じゃなかった?
コンパイルするとクライアントアプリケーションで利用可能なファイルを生成するんだよね。
C,C++ならhやxxx_i.cとか。VB用なら.tlbファイルにコンパイルするのだろう。
tlbはタイプライブラリだからそのとおりだけど。
122デフォルトの名無しさん:2006/08/01(火) 16:00:33
言語に非依存だけど、Windowsに非依存にならなかったから、終ったんだおね。
Win専用であれば普通のクラスライブラリの方がコーディングしやすくて性能も有利。
123デフォルトの名無しさん:2006/08/03(木) 20:17:10
OLE,ActiveX,COMの違いが分からない
3.0,3.1 Me,XPみたいに
OSのバージョンを数字ではなく英字で書いてるようなもん?
124デフォルトの名無しさん:2006/08/03(木) 21:15:18
俺はこう捉えている。
COM IUnknown始め、インターフェースでクラスオブジェクトをやり取りするための仕組み。

OLE(2)/ActiveXはその基盤にCOMを使った応用であり、
なんとなく複合ドキュメントあたりはOLE、
IDispatch関連や各種コントロールはAcitveXと呼ぶことが多い気がするけど、
きちんと境界があるわけではないので、厳密な区別は無い。
125デフォルトの名無しさん:2006/08/05(土) 02:00:56
VB6のヘルプより。
「ActiveXコンポーネント」の「OLE サーバーとの相違点」トピック。
(前略)
ここで概説されている新機能の範囲の広さに合わせて、Visual Basic で
使用される用語も調整され、従来の OLE サーバーは、コンポーネントと
呼ばれるようになりました。
(中略)
従来の呼び方をそのまま使用してもかまいません。その場合は、
"ActiveX コンポーネント" を "OLE サーバー" と読み替えてください。


126デフォルトの名無しさん:2006/08/05(土) 19:53:53
Effective COMの巻末に、「COM仕様書を読め」とありますが、当該ドキュメントはどこにあるのでしょうか?
127デフォルトの名無しさん:2006/10/24(火) 00:39:58
.NETってCOMの延長線上にあるものでしょ?
128久々に:2006/10/25(水) 00:12:47
OLE → ActiveX → COM → .NET

マイクロソフトのマーケティングの都合で
改名してるとしか思えん。

需要のあるDirectXなんて新しいものを入れ込んでも
数字を大きくするだけじゃん。
129デフォルトの名無しさん:2006/10/25(水) 03:21:05
COMって、OS非依存だ゛ったっけか。HPも無茶するよなー。
http://h71000.www7.hp.com/openvms/products/dcom/
130デフォルトの名無しさん:2006/10/25(水) 11:12:14
>.NETってCOMの延長線上にあるものでしょ?

c→c++みたいな互換性なら0、つまりモノが断絶してます。
さらに、開発手法も別物なので片方の知識を覚えても片方の役に立ちません。
131デフォルトの名無しさん:2006/10/25(水) 19:12:07
いや、仕組みが全然違うのは分るけど、でも
言語非依存にあれだけ拘るのはCOMの伝統でしょ?
132デフォルトの名無しさん:2006/10/25(水) 20:35:49
Microsoftの実装はお互い相互運用でやり取りできるから、.NETとCOMは結構密接に感じる。
たとえばVBScriptでこんなコードが書ける。VB/VC++にはmscorlib.tlbなどのタイプライブラリもある。
133デフォルトの名無しさん:2006/10/25(水) 20:36:35
コード張り忘れた。
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
134デフォルトの名無しさん:2006/10/26(木) 00:55:42
すげーな
135デフォルトの名無しさん:2006/10/26(木) 05:28:05
感動した。
136デフォルトの名無しさん:2006/11/25(土) 14:39:47
ActiveXコントロールってこれからも継続されるのかな?
特に売り物。
137デフォルトの名無しさん:2006/11/29(水) 23:21:58
>>128
DirectXでもちゃんとQueryInterface使ってるところがあったりする
138デフォルトの名無しさん:2006/11/30(木) 00:25:17
つうか順序が違う。
COM
OLE
ActiveX
.NET
139デフォルトの名無しさん:2006/11/30(木) 02:59:05
これ何の順番?
140デフォルトの名無しさん:2006/11/30(木) 03:55:32
勘違いの順番
141デフォルトの名無しさん:2006/12/23(土) 17:26:33
>>133-134
おー、最近VBScriptで使い捨てのスクリプトを書いてるんだが
こんな風に.NETのクラスが利用できるとは。
俺のようなアマチュアには嬉しい情報
142デフォルトの名無しさん:2006/12/23(土) 17:36:26
OLE
ActiveX
COM
.NET

こういう順番に開発されたのかと思ってた。自分の無知が恥ずかしいです。
でも正しい知識が得られてよかったです。ありがとう138さん!!!!
143デフォルトの名無しさん:2006/12/23(土) 17:47:46
COMは、古くは江戸時代の頃から、COM僧によって日本各地に広められたとされる
144デフォルトの名無しさん:2006/12/23(土) 19:30:12
>>142
マイクロソフトがマーケティング的に推してきた順に並べるとそうなると思う。
145デフォルトの名無しさん:2006/12/24(日) 02:09:39
COMの語源は虚無だったのか。。
146デフォルトの名無しさん:2006/12/24(日) 02:36:53
待てよ、ole.hを覗いてみたが、OLE1はCOMを使っていない。
OLE1 → COM付きでOLE2という順ではないのか。
147デフォルトの名無しさん:2006/12/24(日) 06:57:25
OLE
OLE2 = COM = ActiveX
COM+
.NET Framework

2段目は横並びでいいはず。
OLEの拡張機能にOLE2と名前を付けたが実態と合わないので、
基盤技術をCOMとよび応用技術や製品をActiveXと呼ぶこととしたが、
OCXカスタムコントロール=ActiveXのイメージが強すぎてグタグタ。
148デフォルトの名無しさん:2006/12/24(日) 09:25:50
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もよく分かっていない。
150デフォルトの名無しさん:2006/12/24(日) 18:20:36
COMコンポーネントとOLEオートメーションサーバの違いは?
151デフォルトの名無しさん:2006/12/26(火) 02:23:02
OLEオートメーションサーバからイベントを受け取るために作成するのはCOMオブジェクト。
152デフォルトの名無しさん:2006/12/26(火) 14:21:29
OLEオートメーションサーバの場合、
やっぱりインタフェイスはOLEオートメーション互換じゃなきゃいけないんじゃない?仁義として。
普通のCOMコンポーネントなら IDL で書けさえすりゃ何でもありだろうけど。
153デフォルトの名無しさん:2006/12/26(火) 21:05:25
いやサーバ側の定義するインタフェースじゃなくて、
たとえばWord文書のBeforeSaveとかのイベントを受け取るために作成するCOMオブジェクトの話よ
154デフォルトの名無しさん:2007/01/07(日) 02:36:07
OLE1.0→COM→VBX→OLE2.0→OCX→ActiveX→DCOM→COM+→.NET
155デフォルトの名無しさん:2007/01/07(日) 02:41:55
COMのスレがここ以外マジで死滅した件
156デフォルトの名無しさん:2007/01/09(火) 10:56:16
無くなると言われると意外にウェブブラウザの進化には重要だった希ガス。
Flashとか。
Ajaxが代用となってくのかな?
157デフォルトの名無しさん:2007/01/09(火) 11:12:50
Ajaxは厳しいな〜。ある意味COMよりつらい。
JavaScriptに変わるまともなブラウザーベースの言語ができればよいけど。
158デフォルトの名無しさん:2007/01/10(水) 23:15:10
159デフォルトの名無しさん:2007/01/11(木) 00:25:18
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
ActiveX漬けの韓国,Vistaに参った
ttp://oku.edu.mie-u.ac.jp/~okumura/blog/node/1219

韓国ではVistaの登場で多くのサイトが使えなくなる?
ttp://slashdot.jp/it/07/01/26/0637208.shtml
161デフォルトの名無しさん:2007/01/30(火) 09:26:23
CMSってなんですか
162デフォルトの名無しさん:2007/01/30(火) 13:39:40
>>159
シリアライズの問題だろ
163デフォルトの名無しさん:2007/02/11(日) 17:38:04
オートメーションのCOM DLLをマニフェストを使ってSide-by-Side配置で実行したら、
異常にパフォーマンスが良くなったのですが、
SxSなし 2623.700 sec
SxSあり      3.636 sec
これだけ差が出るとSxSではないほうに問題がありそうな気もしますが、情報求む。

ソース、VS2005(STD以上)でソリューションが開けてそのままSide-by-Side配置対応のコンパイルできます。
ttp://www7a.biglobe.ne.jp/~fbsoft/denshoku/fctest.zip
Side-By-Sideと非Side-By-Sideの切り替えはここを参照。
ttp://densanshokunin.at.webry.info/200702/article_2.html
164デフォルトの名無しさん:2007/02/14(水) 01:27:02
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がこれからもう一度再評価されることを確信したよ
168デフォルトの名無しさん:2007/03/08(木) 15:40:57
ヒント: AJAX
169デフォルトの名無しさん:2007/03/09(金) 00:23:32
AJAXは.NET Fx 3.5に取り込まれることになってるな
170デフォルトの名無しさん:2007/03/10(土) 09:11:24
>>163
あんた ネ申 かww
でも2005だけなのかな?
まぁ、試してみる。
171デフォルトの名無しさん:2007/03/11(日) 04:56:15
APIにはドキュメントがあるのに、なんでCOM関連にはろくなドキュメントがないの?
172デフォルトの名無しさん:2007/03/11(日) 05:19:18
APIのドキュメントもろくなもんじゃないけどな
173デフォルトの名無しさん:2007/03/11(日) 09:59:38
少なくともMSDNライブラリでは特にCOMの文書がないということを感じたことはないぞ。
174デフォルトの名無しさん:2007/03/11(日) 16:52:32
>>163
これはすげえ
175デフォルトの名無しさん:2007/03/12(月) 11:25:12
176デフォルトの名無しさん:2007/03/12(月) 12:26:29
ワロタ
まさに外道
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って最強なんでしょうか