なにが.NETだ! いままで何冊本を買ったと思ってんだ!!
3 :
デフォルトの名無しさん :03/02/06 00:00
>>1 おいおい。だから何冊買ったんだよ。どんなの買ったんだよ。教えてくれよ。
Inside OLEとかそんなんだYO!
6 :
デフォルトの名無しさん :03/02/06 00:12
M$にうんざりしてる
>>1 がいるんだね。
そのうち、M$が今度は.NETを捨てて新しい●●を作って、
「.NETにはやられた...」というスレが立って
「なにが●●だ!
いままで何冊本を買ったと思ってんだ!! 」
となるだろうな。
7 :
デフォルトの名無しさん :03/02/06 00:15
>【1:8】COMにはやられた...
>1 名前:OSN 03/02/05 23:58
>なにが.NETだ!
>いままで何冊本を買ったと思ってんだ!!
あのー。COMを殆ど理解していないことが分かりまっせ。
このスレタイトルと、
>>1 の内容を見る限りでは。
>10 なんだよお前。何様なんだよ。勿体つけないで言えよ。 教えてくれよ。COM+はどこに行くんだよ。
>>10 すか。
COMを完全に理解してから.NETに入ったほうがいいすかねぇ。。。
>>10 > あのー。COMを殆ど理解していないことが分かりまっせ。
> このスレタイトルと、
>>1 の内容を見る限りでは。
理解する価値はどれくらいある?
COMはふつうにWindows.netでも使われてますが
>10 まじっすか。失礼したっす。それならもっと勿体つけてくださいっす。 俺も知りたいっす。理解する価値ありますか?
スタンドアロンでCOMが使われなくなることは無いから ある程度理解しておいたほうがいいと思うけど。 1回理解しておけばいいと思うよ。 .NETは主にネットワーク環境でということだろう。 あ、C++の理解は必須。あたりまえか.....
>>10 1です。
ありがとうございますm(__)m
なんか救われました。。。
19 :
デフォルトの名無しさん :03/02/06 00:52
.NETがあればCOMはいらん COMは今は使えるようにしてるがいずれ捨てる とMSが逝ってます COMが死滅する頃には .NETは今は使えるようにしてるがいずれ捨てる となるでしょう あなたが青春の全てを費やした.NETは あなたの人生と共に死滅するのです
>>1 将来無くなろうが、興味を持った時にハゲシク勉強しておくのは
決して無駄にはならん。勉強のスタイルやプログラミング自体の
勉強になるから。
「方法」を知るのは良いことだ。
うちにあるCOMの本 Inside COM Effective COM Essential COM COM/DCOM 実践プログラミング インサイド COM+ 基本編 ATL COM プログラミング ATL インターナル この3年くらいで勉強したんだが…
スゲーーッ!!
23 :
デフォルトの名無しさん :03/02/06 01:09
アボーン(´・ェ・`)を勉強するのは無駄 年をとって若い頃の知識が死滅した.NETで リストラされてタクシー運転手やりながら客に 今は何の役にも立たないけど 勉強のスタイルやプログラミング自体の勉強にはなった すごくためになったよ とか言っても虚しいだけ
COMのバージョン管理は正直M$もイヤになったんだろな・・
COMが出たときは「全世界の砂粒に至るまで目に見える モノすべてに割り振っても余るGUID」というのに素直に 感激したが...
26 :
デフォルトの名無しさん :03/02/06 01:22
>>23 そりゃ負け犬の言い分だよ。
>リストラされてタクシー運転手
人は成長する。いつまでもプログラミングだけしか
勉強しないわけではない。勉強の習慣がつくと、いろいろと
他に勉強したくなるものだ。消極的でやり過ごす性格の人は
リストラされるんじゃないだろうか?
いろんな生き方があるから、別に貴方を否定はしないけど。
>アボーン(´・ェ・`)を勉強するのは無駄
無駄な勉強は無いですよ。知識は派生するから。
>>26 うーん、そうだよね。
なんだかんだ言っても血となり骨となってるもんね。
23さんもがんがって!
28 :
デフォルトの名無しさん :03/02/06 01:42
無駄なことはないとか、全てに意味があるとか、 子供だましのきれい事は反吐が出る。 人生は限られてんだ、無駄なことに使わず、 役に立つことに使え。 死滅したもんを勉強してたけど、十分意味があったなんて、 敗者の負け惜しみでしかないぞ。
>>26 2chでそんな理想論いわれても・・・
僕たちは厳しい現実社会で生きてるんですよ・・・
30 :
デフォルトの名無しさん :03/02/06 01:44
ぼくのマシンには、COM1、COM2、COM2まで付いてるヨ。すごいっしょ。 ちなみにCOM3が内蔵モデムだじょ。
てか、COMをやってきた奴が後悔してるっていってんだから、それが現実だろ。やってもいない他人が、偉そうなこというなよ。
今からCOM+の勉強をするのって意味があるかな? 5年くらいかかるのかな? 折れ30才超えるな。 なんか良いことあるかな?
VBやってきた外人さんも、すごい怒ってたぞ。
34 :
デフォルトの名無しさん :03/02/06 01:51
作る必要が目の前にあるなら覚えりゃいいんじゃない。
35 :
デフォルトの名無しさん :03/02/06 01:53
COMだのCOM+だの.NETだのVBだので人生無意味に消費した香具師は 所詮先見の明が無いその程度の人間だったって事だ 自業自得
VB厨って、あれだけM$にいいようにされても、まだ懲りずにC#とかいってるのいるよね。 ほんとVB厨って先を見る目どころか、学習能力すらないよね。 意味のある勉強だったと自己満足しながら、職安でも通ってください。
38 :
デフォルトの名無しさん :03/02/06 02:03
勉強になるなこのスレ
コピペばっか
40 :
デフォルトの名無しさん :03/02/06 02:04
騙されるのがいやな香具師はこれを勉強しなさい COBOL
42 :
デフォルトの名無しさん :03/02/06 02:08
43 :
デフォルトの名無しさん :03/02/06 02:10
>>1-44 今更こんな既出ネタの巣窟スレ伸ばしてまで粋がるなよ。
レスつけるから
>>1 みたいな糞スレ立てる奴が後を絶たないんだ。
45 :
デフォルトの名無しさん :03/02/06 02:12
死亡してても勉強するのに充分意味があり 今後の人生の糧になる COBOLも.NETも
>>44 また、管理人気取りの偽善者が、偉そうなこと言いだした・・・
47 :
デフォルトの名無しさん :03/02/06 02:14
このすれさ、荒れて見えるけど真実があるね。 おれさ、C#やるかなってまよってたけど。まよいとれたよ! 一企業の都合で人生台無しにされたくない。
なんかアンチの宣伝ばかりだね。
だから.NETスレでいいだけやったって。新スレ立てる意味ねーよハゲ。
52 :
デフォルトの名無しさん :03/02/06 02:22
糞スレの中にも1寸の真実 これだから2ちゃんねらーは止められない
53 :
デフォルトの名無しさん :03/02/06 02:23
なんか人生勉強になった。
最近、クソスレ立てる奴が急に増えた気がする
バカは死んでね
_______ /《《《《《《《《《《《《《《 \ / \ ,/ i┬-. `'i、 .| \ \ │ l゙ へ """″ `゙l、 .|: /.,/゜ ゙へ .| """″ r─丶、 ヽ . へ| .,─ 、 │ ◯ │ ) │ : │ ◯│ \,,/ ソ .| l______,| │ 」 / .| . ヽ●¬● / │ 〕 : |_ 、 ._,,,,,---、 / \丿\ 〔'''' ̄ .|│ ,/ \ .ヽ_――,,ニ'゙″ / \ :  ̄ ̄: / /ヽ 丿 糞スレにはちゃんとAA貼り付けろよ
今現役のバリバリやってるプログラマには当然のことでも、 過去を知らない中高生とかだと、騙される可能性あるからね。 そういう人にはよかったんじゃないかな。
よくねーよ。こういう話したいならせめて既存の.NETスレに書け。
\ .∧_∧ / \ ピュ.ー ( ^^ )<これからも僕を / ∧_∧ 山崎渉は \ =〔~∪ ̄ ̄〕 /∧_∧ ( ^^ ) かっこいい。 \ .= ◎――◎ / . ( ^^ ) / ⌒i 从// . \ ∧∧∧∧ /. / \ | | ( ^^ ) n \ <. >.. /. / / ̄ ̄ ̄ ̄/ |  ̄ \ ( E) \< の 山. >/. __(__ニつ/ 山崎 / .| .| フ /ヽ ヽ_// < 予. >. \/ / (u ―――――──―――――――< 感 崎. >―――――──――――――― <. !!!. > 山崎渉age(^^) < 渉. > 1 名前:山崎渉 投稿日:02/ ∧_∧. /<.. >\ (^^) ∧( ^^ ). / ∨∨∨∨. \ ( ⊂ ⊃. / \ 3 名前:山崎渉 投稿 ( つ ノ ノ /. ―━[JR山崎駅(^^)%
さらに自作自演臭たっぷり
口論に負けると荒らしを始め、 それをアンチのせいだといいだすMSマンセ。 なんか人間としてクズだよね。
■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■□■■■□□□□□■■□■■□■■■■■■ ■■■□□□□□□■□■■■□■■□■■□■■■■■■ ■■■■■□□■■■■■■■□■■■■■□■■■■■■ ■■■■□■□■■■■■■□■■■■■□■■■■■■■ ■■■□■■□■■■■■□■■■■■■□■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■
書き込んだ奴が荒らしだろ。
66 :
デフォルトの名無しさん :03/02/06 02:31
まあ、その辺がVB厨とかがクズ扱いされる所以だろうね。
もう書き込むのやめろって荒らしだと思われるぞ。
| |γ__ | \ | ヽ |____|__||_| )) |□━□ ) ぼくと友にCOMは終わりました。 | J |) | ∀ ノ | - ′ さようならCOM | ) |/ | そしてWindowsの中に永遠に生き続けます
ってか、いつものMS厨のパターン的手口じゃん。 C#死滅スレとかで、毎回繰り返してるよ。
>>65 >>67 こいつ外基地ですか?
自分で何度も書き込んでますが。ギャハハハ(≧▽≦)
なかなかCOM厨つれないね。ずいぶんエサと自演やってるんだけどね。
>>1 よ、おまえを叩いてるのはMS厨ではなく、2chを愛する者たちだ。
2chを愛する者たちは決しておまえのようなクソスレ乱立厨を許さない。
ウジ虫で荒らしのMSマンセは この板から消えて欲しい
2chを愛する者たちは、荒らしのMS厨を許さないと思うけど。
ま、sage進行になっただけでもマシだな。さっきまでage自作自演が激しくウザかった。
MSの罪はこういう
>>1 みたいなあふぉに
プログラミングの楽しさを教えてしまったことだな。
86 :
デフォルトの名無しさん :03/02/06 02:41
MS厨房荒らしは2ちゃんから出てけ!!
クソスレだと思うなら来るなよ ましてや荒らすなよ
削除依頼まだぁ〜
93 :
デフォルトの名無しさん :03/02/06 02:51
重複スレは削除依頼出せや(#゚Д゚)ゴルァ!!
ふぅ。MS厨が削除依頼工作してんなぁ。
偉そうな事逝ったって荒らしは荒らしだよね MS厨は盗人猛々しいというか しかも都合が悪くなるたび荒らし常習だし
ウゼえ消えろ
∧_∧ _ _ .' , .. .∧_∧
( ´_ゝ`) _ .- ― .= ̄  ̄`:, .∴ ' (
>>1 )
/ '' ̄ __――=', ・,‘ r⌒> _/ /
/ /\ / ̄\-―  ̄ ̄  ̄"'" . ’ | y'⌒ ⌒i
_| ̄ ̄ \ / ヽ \_ | / ノ |
\ ̄ ̄ ̄ ̄ ̄ ̄ \__) , ー' /´ヾ_ノ
||\ \ / , ノ
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ / / /
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| / / ,'
|| || || / /| |
!、_/ / 〉
∧_∧ 氏ね
_( ´_ゝ`)
/ ) _ _
/ ,イ 、 ノ/ ∧ ∧―= ̄ `ヽ, _
/ / | ( 〈 ∵. ・( 〈__ > ゛ 、_―
| ! ヽ ー=- ̄ ̄=_、 (/ , ´ノ
| | `iー__=―_ ;, / / / ←
>>1 !、リ -=_二__ ̄_=;, / / ,'
/ / / /| |
/ / !、_/ / 〉
/ _/ |_/
ヽ、_ヽ
いくら煽っても重複スレであることに変わりはない
必死にMS厨を敵にしたがっているようだが
>>1 はもう一度なぜ叩かれているのかを
考えた方が良い。つーか重複スレの既出ネタだからだこのクソ馬鹿野郎。
本音 都合の悪いスレを、荒らしでうやむやに。 表向 俺は2ちゃんねら全体のために、重複スレ糞スレは許さない!
いくら煽ってもMS厨の削除依頼工作であることに変わりない
102 :
デフォルトの名無しさん :03/02/06 02:58
よっし、正解が出たところで思いっきり荒らすぞ。
でもこのスレ最初から見てみると、 初めはMS厨も普通に口論してるのに、 負け出したら途端に糞スレとかいって荒らしだしてるよな。
>>104 |-`).。oO(人間の本音なんてそんなもんだ)
はぁ? 最初っから荒らしてんじゃん。 MS厨の肩を持つ奴はMS厨
/⌒ヽ ./ COM | ______ / = =| / ( (。。 | < とりあえず生まれてみた。みたいな ) (三)ノ \__ E三三] .E三三] /⌒ヽ、 |三 | / /⌒ヽヽ .| し' ./ | | チュルン ヽ、 _ノ リ  ̄ /⌒Y⌒ヽ / ::ヽ / ..:::;;;ヽ ( ...::::::;;;;;;;) E 二三三二ヨ
108 :
デフォルトの名無しさん :03/02/06 03:03
荒らしているのは不当なスレを削除させるため 我々に正義がある
そうそう、正義にためだったら人殺しだって...
>>110 正義のために人殺しはやりすぎ。荒らすぐらいがちょうどいい。
113 :
デフォルトの名無しさん :03/02/06 03:08
荒らしマンセー 糞スレには正義の鉄槌を
つーか単にスレ立ててみたかっただけの厨か・・・
>>111 何処に行っても、.Net厨は都合が悪くなると荒らしてくるけどな。
>>116 つまりあなたはこれがクソスレで無いと?
全ては1がアホなのがいけない
えらくスレが伸びてると思ったら子気味の良い荒れ具合ですな
1をかばう奴はクソスレ立て予備軍
普通スレなんて立てねえよ
普通のスレ立てた人です。
>>116 おまえの発言は単に.NET厨を非難してるだけであって、
全然このスレを正当化できてないぞ。
つまらん戯言言ってないでとっとと削除依頼出して
>>111 の中から好きなの選べや。
>>122 誰もスレ立てなかったら2chは存在し得ない訳だが
,,.----、 i | | | _____ / | | | / ヽ / / | | ,i O O | / / 人ヽ、 !ー! ノ ノ ヾヾヽ、 / /ノ,,,,,,ヽ、ヾ .|ヾ ゞ / !ヽ`ヽ- 、 / /γ⌒/^^/^/|`ヾ /ヾ ヾ `ー-- 、 / //ゞ,●>,::<'●,| ~~ヽ ヽ、, '"´``.、 .ヽ | (( ( ○ ,:○) | |." ,, i i;;;;" ゛;;;;i | | ヾ| ,-'ニニニヽ| || ,/ |夜勤!!lllノ .ノ ヾ i\ ヾニ二ン",/ |"" ,, (;´Д`)'ヽ ,,, / | l l;;;;;`;,,,, ゞ-‐´/ ,,| ゞ` ヾ | | | レ ';;´´" / | 〃^ヾ ヾ ,, ,) ! / !,, ´,,,, ___,,,/ " / ;;;;;; ヾ ヾ/,/\ `) / / | " ,, |l|/;;;;;;;;;;;;;;;;, ヾ ゞ| | / / / \_____|;;;;;;;;;;;;;;;;;;;;;;;;;,,, ヾ / | | / \ |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; i/ | / | \ |==============/ /_,,,,,,/ / \/::::::::::::::::::::::::::::::::::::::| /_ ゛,,,| | |"~~"\ |:::::::::::::::::::::::::::::::::::::::ヽ / `ヽ| / \ /\|::::::::::::::/^ヾ:::::::::::::::::::| / /`) | | ヽ 、ー―゛- /、::::::::::::::::/ |;;;;;;;;;;;;;;;;;;;;| " 彡ノ
,. '"´三 ̄`ヽ、 / l´ ─- 、 ヾ\ / , l'ヘ \ ヽ ,イ / | ヽ X 、ヽ \ ヽ l、 / レ' | |、 \ヽキ三ゞi }_l ! lヽ . { /!| l K⌒ ` ´{じ}ゝリr,) !lヽ !/ }ヽト、{ _r;= ~` ノ!´ l } }! ト、 ,' ! i i (ヽ、 `-n .イ__} ! ! / ノ } . { ノ | l ,ヘ`,,.>‐-| |'´ l\}ルイ( ' V lヽ!├'「!/ |,へ! | __/'´/`>i ヽヽ トゝ|{ ̄Lぅ- 〉_」\// | ト 、} y′/´ /' // . l 丶l /{. {|、 r'/ ,イ . {、 { < ヽ | ヽr' / { ! ) ヽ) 7'‐ゝ'-'"`ヽ.`レ 〈 ー- .〉 ヽ./\ ! } / h イ、 `ーァ'ー-、 rノ 、/ ` ー---ゝ'´  ̄`\ ┌ヽ- 」 \ ノ`ヽ. イ \ ,ゝ _,∠= ̄ヽ..__// l ___,.r─、¬ ┌-‐'´ \、 `'⌒r_.ニ-‐' `‐-、__,、__ノ \-‐く } \ ノ\ ノ ` ー---‐ '´ ` ー '
1をかばう奴はクソスレ立て予備軍
>>133 おまえはことごとく名言を生産するな。ファンになった。
良スレの予感
>>1 はもういないだろ?こんな恥ずかしいスレ立てたら
今ここにいる香具師は糞に群がるハエだな
重複スレを立てると大変な仕打ちにあうことを知った
>>1 、15の夜。
139 :
デフォルトの名無しさん :03/02/06 03:33
良スレあげ
これで1はスレを立てる前にスレ一覧を確認するようになったね。
>>137 こんな時間に糞に群がってる俺らって・・
┌─┐ │モ .| │.ゥ│ │来│ ∩ │ね│ ________/⌒彡 │え .| / ノ ヽ ( ノ 冫、 )⊃ │よ. | /|ヽ (_ノ  ̄ ` / │ !!.│ / |ノ .) (_) ,イ └─┤ / | /――、__ ./ / ヽ(ソ、)ノ ヽ(ソ、)ノ ヽ(ソ、)ノ / / / /| ヽ__ノ | / / | ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄| ∋ ノ | ( | ( ’’’ | ( i . ̄◎ ̄ . ̄◎ ̄ . ̄◎ ̄ .|__ヽL_ヽ Lヽ_ヽ
この板の住人は糞スレを放置できないからなぁ
スレ立てた香具師にとってはレスが無いのが一番堪える罠 このスレなんだかんだ150は逝きそうだなw
今だから言えるけど、実は
>>131 を見て勃起しちまった
ここが用無しであることには変わりないな。さっさと削除依頼出さないかな。
_,,-―- 、__ _,,/;;;;;;ヾヾ 、,;;;;;;;;''ヽ_ ノ;_;,-―--''''゙゙ ̄ フ::::;;:'-、 // l、::::::: l、 (ヾ:::l |::::::、::、::::.ヽ, 、ノ:::::.| ー''' ‐- |:::::::::::ゝ::::::> ゝ::::::: ー> ー‐ ヽ:::::::::::ゞ:::ゝ ヽ.| '゚ <,,_"}、 ゚` ,ヽ::,-;:::;;::/ | 't‐=‐┤ l/6l::::ノ | '`二 ´´ /;::;:::;;::/ | , ;:::;;::/ `、_ ー-―' _//=''' - .,,_ _,.. r'""~i- ,,,,,,,____ ,.... -─-~i" .i,.-─- .,_::::/ "''ヽ `` /r'"::::;.r"~ ./::::/ "ヽ \ ,. -<''~:::,.r'" /::::/ .i"''''' ─- ,, .i ,i `/ /::::::::/ i ̄~"'''''' - .i ,i / ,.r'''''ヽ ,,,iヽ .i ̄i"''''i''' -..i i _ io .i / ヽ i:::::i::::::::i::::::i i ヽi::::::i i i l .i::::i::::::::i:::::i: i
/ i:::::i ヽ ',i . i:::i::::::::i::::::i i / i:::i `''' --ヽ ', i::i::::::::i::::::i i / .ヾi ',::::::::', \ i:i::::::::i::::::i i .i / .',:::::::', \ i:i::::::::i::::::i i ヽ ./ ',::::::', ヽ i:i::::::::i::::::i i `- "/ ソ i:::::::', 〕:i::::::::i::::::i i ./ ヾ- ヽ ./::i:::::::i:::::::i i / ヽ `'' --"-==)-'"""~ /. ', ,i. ヽ ', ,i ,,,,,;;;;;;;;;-、 ‐'"゙_,,,,,,,_ ', i /-─'''''''"ヽ "‐=二 ̄ヽ、 .i. '",,,-==‐ ヽ " 、 ヽ ,┴、 ==ニ-‐'" , ヽ、 ゙i |l |ヽl /l .)\ i \|lノl /└-‐ヽ-‐' ヽ i l、 ゙| / ,,---'ニ=メ i | ヽ-i i' /-l「ヽ┼+// ;; / ヽ、 ヽ=ヽ─++-''ノ / ,\ ヽ ゙‐─''''''"~ / \ / ヽ、 / ゙|'ヽ 、,,,__,,;-'" _/ | \ /|\_ / ̄/ | /`又´\| |  ̄\
厨房の代名詞はVB厨だったのに 最近はC#厨に押され気味だな
153 :
デフォルトの名無しさん :03/02/06 03:42
_,,-―- 、__ _,,/;;;;;;ヾヾ 、,;;;;;;;;''ヽ_ ノ;_;,-―--''''゙゙ ̄ フ::::;;:'-、 // l、::::::: l、 (ヾ:::l |::::::、::、::::.ヽ, 、ノ:::::.| ー''' ‐- |:::::::::::ゝ::::::> ゝ::::::: ー> ー‐ ヽ:::::::::::ゞ:::ゝ ヽ.| '゚ <,,_"}、 ゚` ,ヽ::,-;:::;;::/ | 't‐=‐┤ l/6l::::ノ | '`二 ´´ /;::;:::;;::/ | , ;:::;;::/ `、_ ー-―' _//='''
VB厨はC#厨にジョブチェンジできるのか?
o ハァハァ・・・ o_ /) /<<
このスレ最初のあたりは結構いい話だったよな
そういや別のスレでOLE勉強したの嘆いてた奴とか COM+勉強したの嘆いてた奴とかいたな 数年後にはC#勉強したのを・・・・・・・・
まぁDirectXとVBとシェルエクステンション系ツールなんかには COMが必須なわけだし。
>>158 .NETがあれば今後不要になります
C#マンセー
gnomeもicazaなんかはORBitを止めてMono中心にしたいみたいなこと 2年ぐらい前から言ってたね。べつに今のgnomeをいきなり全て mono中心に書き換えるわけじゃないにしても、徐々に移行していく ための準備はどんどん進めていきたいとか。この辺りのシナリオは MSがWindowsでやろうとしてるのといっしょなんだろうけど。
CやC++が、長年広範囲に使われ続けてるのとは、対照的だよな。
ただ残念なのは重要なライブラリなんかが変わりまくっていることだな。 たとえばDOSの頃のグラフィック関連の命令は使えないとか。
>>162 それは言語のせいじゃなくMSのOSに互換性が・・・
んなわけないだろ。
1企業のやることに永続性を期待するのはどうか 長年使いたいなら世界標準の物を選べばいいだけ
じゃあC/C++はだめだな。世界標準GUIライブラリないもん。
俺は組み込み屋だから、GUIは不要。
あぁ、組み込みか。組み込みはたいしてライブラリ使わなそうだもんな。
COMが終わったなんてまともに勉強してるやつから 出てくる言葉とは思えないんだけど。
まともに勉強したやつは嘆いてるだけ いってるのはMS
> いってるのはMS なんでわかるの?(w
172 :
デフォルトの名無しさん :03/02/06 07:31
これからは.NETの時代です すべての既存技術の後継です
MSのドットネットは旧訳聖書にも出てくるらしいよ。 それを知らなかったなら、知らなかったやつが勉強不足。
ゲイシは怒りの炎を持ってCOM廚を3日3晩焼きたもう。 C#廚は家族を連れ、難を逃れる。 振り返りしVB廚は、その罪により塩の柱となる。 なんちゃて。
comを.net経由で呼び出せばいいじゃないか
>>176 つまりコムネットにエンターするわけだな。
178 :
デフォルトの名無しさん :03/02/06 07:47
意味ねー
お前ら一晩やってたんだな。 さすがに、疲れたのか、めちゃめちゃになってるが。
Javaでコボラー使うからCOBOLは死んでませんみたいな
>>178 既存技術をそのまま使えるのは意味あるよ。
どっかの言語みたいに全部切り捨てるよりはね。
ドットネットでCOBOL使うからCOBOLは死んでません。 これは本当です。
> どっかの言語みたいに全部切り捨てるよりはね。 VBのことかな?
COMに流行られた
クソスレage
お前らちゃんと糞スレの中でおとなしくしてよろ、いいな
189 :
デフォルトの名無しさん :03/02/06 20:37
糞age
>>108 まるでどこかのテロリストみたいな発言だな。
M$厨は不満があるなら削除依頼だせばいいのによ。
出す度胸も無いのか? それで荒らしか (w
191 :
デフォルトの名無しさん :03/02/07 01:00
>>175 C#もJavaと同じような目に遭う気がする
192 :
デフォルトの名無しさん :03/02/07 04:10
COM なんてさー、DOS が終わったら終わってるよ。 Win16 からずっと EXE だもんな。
>>192 Win32 の PE って、リロケート可能だけど COM と似たようなロードアドレス
固定(を仮定した)フォーマットなんだけど。
説明
>>192 >>193 はMS-DOSの最初の方の実行ファイル形式のCOM形式のことを言ってる。
小さなファイルになる。
MS-DOSでもEXE形式に取って代わってしまった。
拡張子は.com
クソスレ勃起age
l. ::::::! ::::::l::::i:::::::::,ll、r.l'"´:!.',l゛、::',',:::゛:::::::.:::::. .!.l::: l.l. l:::::::l:::l::::::::::: l::::::::. j.,' :| :: ::::::l :::::::l::::l:;、‐"!l::l. ',::;;;l,、ュz、;;','、::::::,::,::::: j jr.fl'j"'!x;ソl;l'!:::::::::::j:::::::: ,',' ::!..::.::::::! ::::::::j,rll゛:::::::! ',:l,r','":!,.. ‐、ヾ、゛、::::',:i::::.,'.,';/゛/, .l:/l''/.j:::::::::::;':::::::./' .:',:.:::::::::! :::::::l.',:!',::::::l-r'l ゛、;! ! ゛ ヾ;:l:l::;.',/゛i j!/'"lツ ,':::::::::/::::::,r' .:::゛、::::::::!、::::::| ',:!゛、ーl'l. ヽ i;',ヽ jl ゛ツ' !;,_/l /:::::::;.'::::/ .::::::゛、::::::',゛、::::!. ゛、 ゛、:',.、 l;;;ゝ,,ノ;;! l::ii。j ./:::::/;r'" あら、おいしそうなちんこ。 .::::::r'\:::゛、゛、:', ヾ、 ';;:::'iiir';;l !,::::j ,':;ン‐'" :::::::!. ",rヽ;ヽヾ、 〈:::::::::ソ , ゞ‐゛'" l" :::::::゛、. 〈,`ヽ '" ゛''''''"゛ 〉 ! /⌒ヽ⌒ヽ .::::::::j゛:、.ヽ 、..,, " /、 / Y ヽ :::::::/::::,゛゛''‐--‐:.、 r-‐‐‐‐ッ ./`゛'ヽ、 / 八 ヽ ::/,.r'::::::::::::::::::::::l゛ヽ、, \、__ノ .,r'゛ ,、( __//. ヽ,, ,) ,.r'"::::::::::::/:::::::::::::| `''‐ 、.,_ .|! ,、‐'"::::::.. 丶1 八. !/ ::::::::::::::::::,'::::::::::::::::! `゛'''ー‐,- --||::',::::::::::::::::...ヾ;:: l, 八. j :::::::::::::::::{:::::::::;r-‐l |、、;:::∪ :゛、::゛、::::::::::::::::::::;;、>、 i .八 、 .j ::::::::::::::::::!、-'" 、,.ノ {、,. ゛. 、::::::ヽ::\::::::::::::::゛'ヾ、, | 八 |
198 :
デフォルトの名無しさん :03/02/08 01:26
いいよな、OSを作ってる会社は。 なんでもアリだな!
199 :
デフォルトの名無しさん :03/02/08 04:40
糞スレとかしてるけどさ、この話ね、真面目にやってきた人間からすると、ネタじゃ済まないんだよ。
201 :
デフォルトの名無しさん :03/02/08 05:09
うんCOM
>>199 真面目にって何を真面目にやってきたの?
COMならいいじゃん。うちなんてVBでDLL大量に作ってきたの
どうすればいいのさ。
>>203 覚えるって覚えるだけなら別にいいんだけど、
書き溜めたライブラリの類いはどうするのさ?
一生使えるようなライブラリは一生使えるし そうでないライブラリは一生使えるわけない。
207 :
デフォルトの名無しさん :03/02/08 07:54
OOで再利用だの拡張性だのごたく並べるより まずはMS専用技術を使わないことだな
一生使えるライブラリを作りたいなら、一生使われる言語で 標準関数だけを使ったライブラリを作ればいい。
もちろんOS依存・処理系依存な命令もなくすこと。
むしろMSはCOMからIL+metadata生成ツールを作ってくれと
(*´д`*)アハァ…
とかいいつつも.netは今までの環境よりも生産性が高いので もう棄てられないという罠。まあ過去のことなんて直ぐに 忘れるもんですよ。
とかいいつつも.netは今までの環境よりも生産性が高いという保証もなく、 また棄てられるかもしれないという罠。まあ.netのことなんてmsは直ぐに 忘れるもんですよ。
>>212 生産性? ,netで何か生産してるの?
使ってるだけでしょ。それは消費
我々は、
>>214 を真からのアフォと認定しました。
二人いるみたいだね 釣られ易いのが
>>217 一人だけだろ。
メール欄ぐらいみろよ。(藁
(*´д`*)アハァ…
カンマネット消費中
(*´д`*)アハァ…
MSもCORBAから離れて独自でCOMを設計してきた経緯もあって .NET構想がでたからいちおうラッパーでCOMをサポートは しているけど本心はどうなのかな? だいたいCOMというかActiveX構想自体がインターネット の普及に脅威を感じたMSの切り札だったから、「インターネット時代 を迎たゆえの.NETの登場云々...」なんて言い訳が通用するわけ ないと思うんだが...。 結局設計ミスだったんだろ、COMは。 バイナリベースでの再利用とかいったって、その再利用オブジェクト が開発そのものの中心にあるときは(そんな場合のほうが多い)結局 常に頭の隅(いや頭の真ん中w)に互換性を置いとかないと開発に なんないんだから...。
クソスレはageるに限る。 クソスレマンセー!!!
(*´д`*)アハァ…
225 :
デフォルトの名無しさん :03/02/08 13:57
COMが設計ミスだって気づかない奴がいたとは・・・ VBで使うようなコンポーネントなら、 COMで作ってもいいとは思う。 でも、明らかにソケット使えよと思うものまで、 COMで実装してる馬鹿がいるからな。
(*´д`*)アハァ… VBハァハァ
(*´д`*)アハァ…
228 :
名無しさん@そうだ選挙にいこう :03/02/08 14:50
俺くらいのレベルになるとCOMにはやられない
これはひどい糞スレですね
(*´д`*)アハァ…
232 :
デフォルトの名無しさん :03/02/08 16:33
良スレ(藁 age
233 :
デフォルトの名無しさん :03/02/08 21:35
>>199 まじめにやってきた人は、COM 依存とかしないから、だいじょーび。
234 :
デフォルトの名無しさん :03/02/08 21:58
>>199 233に便乗するが、まじめな人間はオマエのような人間と違ってCOM以外も勉強している。
>>233-234 いろんな事情(会社、実家、自身)でCOMしかやれなかった人も
いるんじゃないかな。マジメとか関係ないと思うけど...
まぁ甘えだろうけどね。。。
236 :
デフォルトの名無しさん :03/02/08 22:13
95年から2000年までは再利用を考えたらCOMしかなかったわけだが。
>>233-234 おまえらこそ、生のDLLなんつーものでしこしこ作ってたんじゃねえの?
238 :
デフォルトの名無しさん :03/02/08 22:20
(*´д`*)アハァ…
240 :
デフォルトの名無しさん :03/02/08 22:24
>>236 だからアフォって言われんだよw。退職して猿にでもなれよ。
241 :
デフォルトの名無しさん :03/02/08 22:29
>240 なんで俺がアホ呼ばわりされんだ?
いや実際マイクロソフトも95年頃はCOMこそが オブジェクト技術の理想形(最終形)みたいに言ってたのは 事実だ。
被害者面する気もないけど、240みたいにアホ呼ばわりされる 筋合いもないよ。 別に「COMは儲かりそうだ」とか考えて乗っかってきたんじゃないし...。 僕はMSマンセーではないけど、純粋にスゴイ会社だと思う。 優秀な製品、優秀なプログラマetc。COMが発表されたときだって 「こんなこと考える人がいるんだ」って純粋に感動した。 VBでしょうもないOCX作っててもこれが全世界でユニークだなんて 考えただけでワクワクしたもんだよ。 みんなも本心は同じだと思うよ。だってでなきゃ本屋であれだけ書籍が 出る?厚さ10センチもある解説書なんて書く?
COMと.NETが線でつながって見えないことがアホだというのが分からんのかね
わからないね!
じゃあ、やっぱアホだな
今度開発される技術にはORGという名前がつきますか
248 :
デフォルトの名無しさん :03/02/09 03:40
>>242 マイクロソフトのいっていることはいつも口だけということか
>>244 つながって見える方が外基地入ってるって。
あ、たんなる社員のいいわけか。(w
250 :
デフォルトの名無しさん :03/02/09 03:52
ActiveXだけじゃなく、WindowsDNAだって、 今の.NETと同じくらい、MSは力入れてたぞ。 出た当初は、書店にWindowsDNAコーナーなんてのがあった。 誰にも相手にされず、ほどなくMS自らが捨てたけどな。 勉強しなくてヨカターヨ・゚・(ノД`)・゚・。
>>250 >誰にも相手にされず、ほどなくMS自らが捨てたけどな。
>勉強しなくてヨカターヨ・゚・(ノД`)・゚・。
.NETもそういう末路をたどる可能性はありますか?
某ランドもオープンソースも相手にしているから大丈夫でしょ。
253 :
デフォルトの名無しさん :03/02/09 08:04
>>243 >>VBでしょうもないOCX作っててもこれが全世界でユニークだなんて
>>考えただけでワクワクしたもんだよ。
お前バカ?しょうもない物作って、それがM$から世界中でユニークだよって保証
されただけで「ワクワクする」だって(藁
誰が監訳かによるよなあ。Essential XMLの二の舞だけは避けてほしい。
(*´д`*)アハァ…
(*´д`*)ハァハァ…
(*´д`*)アハァ…
(*´д`*)ハァハァ… o_ /) /<<
>>254 サンクスコ!
著者のDon BoxさんってCOMの権威だよね。(たしかEssential COMかなんか
を書いてた...)
MSDNマガジンとかにも「COMの行く末」みたいな連載してたけど
どんな内容なんだろ。
機会があったら読んでみますネ。。。
263 :
デフォルトの名無しさん :03/02/09 13:25
糞スレは常時age
264 :
デフォルトの名無しさん :03/02/09 13:35
>95年から2000年までは再利用を考えたらCOMしかなかったわけだが。 バイナリーレベルで再利用する事に意味がないという事に 気づかないようじゃ・・・ まあ便利だと思える瞬間もあるけど susie-pluginくらいかな
266 :
デフォルトの名無しさん :03/02/09 13:52
ageまくれ!
>264 うるさいな、susie-pluginってなんだよ。COMにはやられた、はやられたんだよ。
>>264 >バイナリーレベルで再利用する事に意味がない
お前はただのコピペ厨かよ(藁
269 :
デフォルトの名無しさん :03/02/09 14:03
からあげうまうま
>>264 >バイナリーレベルで再利用する事に意味がないという事に
>気づかないようじゃ・・・
震える程に意味がわからん。動的バインドの恩恵って知ってるのかな。
>>270 「震える」というのは、Inside OLE2の引用ですか?
272 :
デフォルトの名無しさん :03/02/09 14:43
むかしファミコンしながらよく言ったなあ。 「COMにはやられた」
273 :
デフォルトの名無しさん :03/02/09 14:50
(*´д`*)アハァ…
274 :
デフォルトの名無しさん :03/02/09 14:55
(*´д`*)ハァハァ… o_ /) /<<
275 :
デフォルトの名無しさん :03/02/09 15:39
>動的バインドの恩恵って知ってるのかな。 ポリモーフィズムって知ってますか?
(*´д`*)アハァ…
277 :
デフォルトの名無しさん :03/02/09 16:09
(*´д`*)ハァハァ… o_ /) /<<
(*´д`*)ハァハァ… o_ /) /<<
279 :
デフォルトの名無しさん :03/02/09 16:32
COM ったって、クラス型にアタッチできる DLL でしょ。 DLL の方を COM サーバ、アタッチする側を COM クライアントといふ。 便利っちゃあ便利だけどね。 ちなみに、拡張子が DLL って言う意味じゃないよ。
280 :
デフォルトの名無しさん :03/02/09 16:38
(*´д`*)ハァハァ… o_ /) /<<
>>279 inprocならともかくネットワークの向こうとかのCOMサーバがDLLやEXEとは限らないのでは?
282 :
デフォルトの名無しさん :03/02/09 17:26
>>281 他のシステムにCOMが移植されてる可能性のこと?
284 :
デフォルトの名無しさん :03/02/09 17:41
(*´д`*)アハァ…
>>265 265(also254?)さんって英語できるんですね!
すげーっ!
COMのときも日本人でCOMを理解して翻訳したり
著書を出していた人って少なかったですよね。
(確か古山和夫さんもそんなことを言ってた...)
そんなわけで翻訳されない名著も多いとか...。
もういちど勉強しなおしますね。。。
285さんとかぶった!? F山さんって古山さん? 古山さんってダメなの?
古山一夫さんの誤りですた。m(__)m
>>287 俺の個人的な感想では、訳本は間違いだらけ、
書き下ろし本は電波入りまくりであまりいい印象はない。
マジっすか! .NETでそれをやらないか要注意ですね(--);; それと読むならやっぱり原著ですかね。 MSDN見てても原文をかなり端折ってることが ありますもんねぇ...。
名著があってもCOMは要らない。 なんせ捨てられたものだし。 COMのクライアントのVBも消えることだし。
大スクープです!Essential .NETは、あの日本のCOMの大家、豊田孝氏による翻訳決定! 豊田氏にはCOMの名著も多数!期待すべし!
>>292 豊田氏か。電波度は負けてないけど、訳本の質は悪くないから、ま、いいか。
ってことは翔泳社か。
遅レスだが...
>>271 単に「寒い」の意味です。
>>275 なんでここで多態性の話が出てくるの?
>>292 本人のカキコじゃないだろうな?(w
あの人は自分で作ったサンプルに「Toyota is great!」とか書くような人だから。(w
やっぱり買わん(爆
299 :
デフォルトの名無しさん :03/02/09 20:24
(*´д`*)ハァハァ… o_ /) /<<
300 :
デフォルトの名無しさん :03/02/09 20:26
(*´д`*)ハァハァ… o_ /) /<<
301 :
デフォルトの名無しさん :03/02/10 01:48
ちょっと前のCOMスレじゃ、たいして 書きこみ少なかったけど、このスレは 案外伸びいいな。大概煽りだけどw そんだけCOMで困ってるやつ多くなった ってことだな。 消えるかどうかは知らんが比較的高度な 概念だとは思うぞ。
COMで困ってた
303 :
デフォルトの名無しさん :03/02/10 02:16
304 :
デフォルトの名無しさん :03/02/10 04:57
ここで言うCOM=OLEからCOM+1.5までを含んだ技術の総称
305 :
デフォルトの名無しさん :03/02/10 07:46
今年の濱中は3COM打法で本塁打王争いに名乗りをあげるよ!
306 :
デフォルトの名無しさん :03/02/10 08:30
COMやデコムやテンネットは必要悪でしょう。 職人プログラマーは、訳のわからないものがドンドン出来てこないと なりたたない。簡潔にわかりやすくなっては駄目なんだ。 そうしないとプログラマーの価値が下がるだろう。 素人には理解できない膨大な知識を必要とするのが職人プログラマー というモノを構築しないとまずい。 だから数年後にテンネットが消えてくれた方がありがたい。 C#によって、win95厨や低速厨を駆逐するようにどんどん新しい概念が 入り込まないと業界が成立たない。 次はエージェント指向だね。
307 :
デフォルトの名無しさん :03/02/10 13:30
まあ、1は死ぬまでVisualJ++6.0(WFC)つかってろってこった。
いや、AWTで十分でしょう。
309 :
デフォルトの名無しさん :03/02/10 16:56
__,,,,_ /´  ̄`ヽ, / 〃 _,ァ---‐一ヘヽ i /´ 0 リ} | 〉. -‐ '''ー {! | | ‐ー くー | ヤヽリ /// ,r "_,,>//'} /ー ヽ_」 (つト‐=‐ァ' ! < COM様ぁ〜、ハァ・・・ ゝ i、 ` `二´' 丿 \ ト、、 / ̄``ー、 |`.-/ ヽ /ヽ| ,. ゙、 / | ノ⌒) .| ゙、 /;. .| (ノO | ゙、 ./ ゙| ,. | | ゙、 / . /" .| .| _,_.゙、____,,,,、=、 ./ ./! .| / / ̄、-‐‐'''''''ー-、\,_ _,.、--' /-‐''''''~~~` //‐''"´ `\\ _,,,、--''''~´ __...、-‐'''~~´ 0 `ヽヽ ノ" _,,、--‐'''~ (⌒ヽ (⌒) ヽ|、 ,,、-‐'''"~ しノ )丿 .|;;| ''" (ノ ./、;| 、,,,_ //ヾ `` ー、 _/´/ | \____ _,,,,,、、、-=‐'''"´ | \ /ヾ ̄ ̄~~`二>='''~..、-‐'/´ | \ ヽ ヽ:::|:::,.、-‐'゙´ `'''''''''''゙´ ./ \ ゙、 |/´ / \ \´ /
>>306 そうか? UMLを使って、しかも手戻りのない設計をできるようになる
ことを目指すのが現状でのプログラマの課題じゃないのか?
.Netのへの流れでも再確認したけど、今後プログラミングにおける
ソフトウェア工学的な問題は開発環境や実行環境の充実によってどんどん
解決されていくことになる。4GLの理想を一般的なプログラミングにまで
適応させるのはまだまだ先の話しだろうけど。
311 :
デフォルトの名無しさん :03/02/10 17:41
次期Windowsサーバの名称から「.NET」が消える
http://www.zdnet.co.jp/news/0301/10/nebt_08.html Microsoftは数日前、従業員とパートナー向けに電子メールで
この名称変更を通達。
同社広報担当者は9日、「.NET」を冠した他の製品も名称変更を
検討する予定だと認めている。
Microsoftは以前から、「.NET」の名称が厳密に何を意味するか
の説明に苦慮している。
同社は今後は、Webサービス向けの「.NET Connected」ロゴプロ
グラムに重点を移したい考えのようだ。
312 :
名無し@沢村 :03/02/10 20:02
>>279 >COM ったって、クラス型にアタッチできる DLL でしょ
ヌヒはDLLレベルのCOMしか知らんのか?
ヌヒよ、COMにはEXEもあるのよ。
>>312 ヌヒはsvchostやdllhostによるサロゲートを知らんのか?
ヌヒよ、COMはDLLをアウトプロセスで使用することもできるのよ
314 :
デフォルトの名無しさん :03/02/10 21:08
>ヌヒよ、COMにはEXEもあるのよ。 たいした違いはないと思うが。 プロセスを新たに立ち上げてそこにプログラムを展開するかどうかの違い。 サロゲートなんて、仕様がクソすぎるんで 飾りでもつけてみるか・・・って事でつけたんじゃなかったっけ? COMの設計って本当にセンスを感じないよね。 この仕様に沿って汎用コンポーネントを作る馬鹿は いないよ。
315 :
デフォルトの名無しさん :03/02/10 22:20
(*´д`*)ハァハァ… o_ /) /<<
316 :
デフォルトの名無しさん :03/02/10 22:20
糞スレを華麗にage
おまいら、DCOMにやられたことねーか。 俺はねーが、昔、となりのプロジェクトでやられてるのを目撃したぞ。 端末側から鯖へ要求投げる処理を(rpcかソケットで済む話なんだけど)DCOMでやったまではイイ(?)のだが、 鯖を予備機に切替えたら動かなくなっちゃったらしい。 なんでかは知らんが、とにかくお客さんはカンカンだ、何のための予備機だって。
ただのデプロイミス(設定ミス)じゃないの?
319 :
デフォルトの名無しさん :03/02/11 00:39
ただのプロミス(債務超過)じゃないの?
亀レスだが265さんのリンクの論評「COMは死んだのか?」 を読むと、結局は「使い手の認識しだい」ってことになるかな。 前レスにもあった実行時バインディングを実現するにはいづれに せよインタフェース名と実装のエントリポイントの対応表を 持たなきゃならんから、そういう意味ではCOMの概念自体は 残っていることになる。 COMのもうひとつの売り(?)だった参照カウントによる 自己リリースは破綻しちゃったけどね。。。
323 :
デフォルトの名無しさん :03/02/11 01:44
糞スレはアゲるに限る
あと、DCE/RPC上にDCOMを乗せたまさに屋上屋を架けるプロトコルの複雑さ(結局、 UDPのバグは修正できなかったわけだし)をチャラにしたかったってのもあるかも。 #うーんとMSに好意的に見れば、Windows3.1の頃のCPUではVTBLバインドでなければ #速度的に実行時バインディングに無理があったのが、 #'95にSunにJavaの仮想マシンという方法で実装されてしまったのが、やっぱりCOM #を捨てるきっかけにはなったんだと思う。 #それまでもSmallTalkのようにクラスがオブジェクトな言語はあったんだけど、 #コンパイル可能な強い型付け言語でクラスがオブジェクトなのでメジャーなのは #Javaが最初。クラス自体がオブジェクトなので動的束縛に無理が無い。 いずれにしても、90年代(i386〜PII)には十分に役に立ったとは思う。
ちなみに、Windows DNAって、COMと関係有るの?
C 小粋な O オナニー M マシーン
Windows DNAでプレゼンテーション層とビジネスロジック層の間はCOM。
328 :
デフォルトの名無しさん :03/02/11 14:30
(*´д`*)ハァハァ… o_ /) /<<
329 :
デフォルトの名無しさん :03/02/11 14:45
(*´д`*)ハァハァ… o_ /) /<<
330 :
デフォルトの名無しさん :03/02/11 14:51
331 :
デフォルトの名無しさん :03/02/11 14:53
>>330 あのー、「日時」って、時刻が書いてないんですけどぉ〜
332 :
デフォルトの名無しさん :03/02/11 14:58
333 :
デフォルトの名無しさん :03/02/11 14:59
__,,,,_
/´  ̄`ヽ,
/ 〃 _,ァ---‐一ヘヽ
i /´ 0 リ}
| 〉. -‐ '''ー {!
| | ‐ー くー |
ヤヽリ /// ,r "_,,>//'} /ー
ヽ_」 (つト‐=‐ァ' ! < COM様ぁ〜、ハァ・・・
ゝ i、 ` `二´' 丿 \
ト、、 / ̄``ー、
|`.-/
>>1 ヽ
/ヽ| ,. ゙、
/ | ノ⌒) .| ゙、
/;. .| (ノO | ゙、
./ ゙| ,. | | ゙、
/ . /" .| .| _,_.゙、____,,,,、=、
./ ./! .| / / ̄、-‐‐'''''''ー-、\,_
_,.、--' /-‐''''''~~~` //‐''"´ `\\
_,,,、--''''~´ __...、-‐'''~~´ 0 `ヽヽ
ノ" _,,、--‐'''~ (⌒ヽ (⌒) ヽ|、
,,、-‐'''"~ しノ )丿 .|;;|
''" (ノ ./、;|
、,,,_ //ヾ
`` ー、 _/´/ |
\____ _,,,,,、、、-=‐'''"´ |
\ /ヾ ̄ ̄~~`二>='''~..、-‐'/´ |
\ ヽ ヽ:::|:::,.、-‐'゙´ `'''''''''''゙´ ./
\ ゙、 |/´ /
\ \´ /
誰も来ないな。。。 おそらく行かないだろうが1000まで逝ったら 今度は私小説「COMと私」で行くぞ!
>>335 COM+のイイ解説本知ってる?
inside COM+ 基礎辺以外で、MTSとかMSMQにリキ入った本。
概要とか概説じゃなくて実践(コーディング)レベルの本。
できればC++で。
CやC が、長年広範囲に使われ続けてるのとは、対照的だよな。
長年って言ったってCOMの10年にくらべて、10年、20年長い程度。
>>336 めっちゃ遅れた。スマソm(__)m
COM+でコーディングレベルの本...
すまん。知らん!
MSDNマガジンによく特集されてたけどなぁ。。。
縮刷版とか探してみてはどうだろう。
>>OSN あんたイイ奴なんだな......
__,,,,_ /´  ̄`ヽ, / 〃 _,ァ---‐一ヘヽ i /´ 0 リ} | 〉. -‐ '''ー {! | | ‐ー くー | ヤヽリ /// ,r "_,,>//'} / ヽ_」 (つト‐=‐ァ' ! < OSN様ぁ〜、ハァ・・・ ゝ i、 ` `二´' 丿 \ ト、、 / ̄``ー、 |`.-/ ヽ /ヽ| ,. ゙、 / | ノ⌒) .| ゙、 /;. .| (ノO | ゙、 ./ ゙| ,. | | ゙、 / . /" .| .| _,_.゙、____,,,,、=、 ./ ./! .| / / ̄、-‐‐'''''''ー-、\,_ _,.、--' /-‐''''''~~~` //‐''"´ `\\ _,,,、--''''~´ __...、-‐'''~~´ 0 `ヽヽ ノ" _,,、--‐'''~ (⌒ヽ (⌒) ヽ|、 ,,、-‐'''"~ しノ )丿 .|;;| ''" (ノ ./、;| 、,,,_ //ヾ `` ー、 _/´/ | \____ _,,,,,、、、-=‐'''"´ | \ /ヾ ̄ ̄~~`二>='''~..、-‐'/´ | \ ヽ ヽ:::|:::,.、-‐'゙´ `'''''''''''゙´ ./ \ ゙、 |/´ / \ \´ /
COMに流行られた? ( ´,_ゝ`) Sunの負け犬ですか?
(^^)
∧_∧ ( ^^ )< ぬるぽ(^^)
345 :
デフォルトの名無しさん :03/05/24 11:42
今さらマジレスするけど、COMがもうだめなら関連書安く譲ってほすい。
漏れは日曜プログラマだから関係ないので。
ヤフオクで張ってるけどCOM関連少なすぎ。
>>23 にある本とかメチャクチャ欲しい。
でも趣味なので金かけられないんだよね〜。
趣味に金掛けないで、どうするよ?
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
なんかアンチの宣伝ばかりだね。
350 :
デフォルトの名無しさん :03/06/12 23:47
COMだのOLE2だのって、仕様が(いろいろな意味で)ブラックなので ブリッジ組むのもこまるよねえ…
COMってもう使わないんでしょ?
352 :
デフォルトの名無しさん :03/06/13 00:58
CORBAも最近聞かないねぇ。
Windows DNAでプレゼンテーション層とビジネスロジック層の間はCOM。
356 :
デフォルトの名無しさん :03/07/20 22:40
COMってのはつまりDLLをクラスで作るって事ですか?
357 :
デフォルトの名無しさん :03/07/24 17:25
COMの技術的基礎が知りたいけど、そういったものが読めるのは あの本を買わないとだめですか? 知りたいのはずばりダイナミックリンキングの仕組みです。 COMが仕組みが入ったDLLが ・インタフェイス情報を元にレジストリからDLLを特定 ・LoadLibraryして該当するDLLをメモリ中にロード ・インタフェイス情報から関数テーブルへのポインタを取得する という手順の詳細を知りたいです。Windowsのローダの動作と合わせて 説明してるようなのがあればいいな。
359 :
デフォルトの名無しさん :03/07/26 03:37
>>357 あの本ってのがよくわからないけれど
「Inside OLE」か「Essential COM」を読めばDLLからCOMクラスを
エクスポートするしくみ、レジストリとの連携とかが分かると
思いますよ。。。
>>360 あの本とはInsideOLEです。
InsideCOM+をよく読んだら上の疑問が全て晴れました。
CoCreateInstanceExの動作の詳細が載っていたので。
>>361 あっInsideCOM+もイイですね!
この本の邦訳は「インサイドCOM+ 基本編」ってなってて、
んじゃ応用編って出るのかなと思ってたらいつまで経っても
出なかったのですが、原書を見たら「Inside COM+ Base Services」
であって、ただの翻訳ミス(?)みたいですね(^^);;
いづれにしてもよかったよかった。。。
363 :
デフォルトの名無しさん :03/07/31 10:48
>>362 insideCOM+はいい本です。CORBAの知識が無い人間にも
概念的なところから、実際のコーディングにおける注意点など
幅広く扱っていて分りやすいです。
とくに4章のApartmentの章は良かったです。
投げ出したCORBAをCOMの後に勉強すれば、すんなり習得できるかな。
↑最近(今頃になって)RPC関連のバグがウイルスのせいで よく出てきてるね COMをマスターして.NETに入りたいと考えている今日この頃です。
(^^)
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
うんCOM
369 :
デフォルトの名無しさん :03/08/25 23:11
そのうち EJBにはやられた とかいうスレも立つのかな?
EJBには、すでにやられてるだろ。 次は .NETにはやられた... だろう。
.Netにはやられる前に、大して流行ってないんとちゃう?
Linuxにはやられた..... ドライバ書けても金にならねえ
373 :
デフォルトの名無しさん :03/08/31 09:42
COMのラッパーだろ。.netって。
かもしれないねえ にやにや
へえそうなんだあ ふふふふ
>>373 それはタイプライブラリから生成したインタロップアセンブリだ。
377 :
デフォルトの名無しさん :03/09/08 22:33
あげ
BCBでMSCommをインポートして使うとメモリリークが酷い
>>378 それはMSCommの問題なのかい?それともC++ Builderが生成するラッパーが
ヘボなのかい?あるいはプログラマ責任でReleaseしなきゃいけないからつい忘れて
リークとか。つーか、どんなラッパーが生成されるの。
>>379 OleVariant()があやしい。
なにか出力するたびにリークする。Releaseとかの問題ではない。
>>362 値レスだけどゴメソ。
「基本編」は意訳だと思われ。
それと、原書では続編「Inside COM+ Component Services」がもう出てる。
けど、翻訳版は出てないし、もう、出ないと思われ(涙
次期を逸しちゃっただよね。。。。
トヨタちゃんももうCOMには興味なさげだし。。。
>>380 Builderは使ったこと無いけど、OleVariantってのはC++Builderで使われる
ラッパーなのかな?MSComm OCXって多分デュアルインターフェースだと
思うから、IDispatchの事忘れてカスタムで運転したら?それならOleVariant
なんて使うことも無いだろうし。
>>382 うんラッパーだと思う。
つうことでベタで書きました。
>>383 C++ BuilderはMSみたいな#import擬似命令つかって、スマートポインタのラッパー
とか作ってくれないの?Borlandでも#import使えるって聞いたことあるんだけど、
それはおれの勘違いか?
>>381 おぉっ、レスさんくすこ!
俺の方こそ遅れてすまそん。
>基本編」は意訳だと思われ。
>それと、原書では続編「Inside COM+ Component Services」がもう出てる。
そうなんだ。。。豊田さんとりかかる前に.NETにつかまったのかなぁ。
そういや関係ないけど、前レスでEssential.NET
が豊田さん訳ででる予定とかあったけど違ったね。
まぁどうでもいいんだけど。。。
386 :
デフォルトの名無しさん :03/09/18 23:14
参照カウントによる自己リリースってどの辺が駄目なのか教えて下さい
あんまり詳しくわからないけれど、結局は参照カウンタを インクリメント、デクリメントする責任がそのオブジェクトを 扱う側(つまりプログラマ)に発生するということであり、 それを怠るとメモリリークする。で、最近のPCはメモリも十分に 積むようになり、またOSがアプリケーションに割る当てるメモリも 十分あるから、だったらメモリの管理を一切PGにさせずOS側の 作業に取り込んでしまおうというのが.netとかを含めた最近の 実行環境の風潮ということじゃないかな。
>>386 .NETみたいなGC機能があるプラットフォームが理想だけど、それが無い環境下では
むしろ優れた手法だと思うけどね。動的に生成したオブジェクトをあっちこっちから
参照しまくって使う場合、誰がその所有者なのか明確じゃなくなってくるから、結局
廃棄責任がどこにあるかわからなくなる。それならば、参照カウントで管理して、
「誰も自分を参照してくれなくなった」状態のオブジェクトが自殺すればいい、というのが
COMの考え方。
ついでに、COMの規則ではAddRefすべき状況とReleaseすべき状況が明確に 決められている。例えばQueryInterfaceでインターフェースポインタを受け取った時 とか、メソッドの[in]パラメータに渡した場合、或いは[out]パラメータで返した場合、 こういった場面での参照カウント操作の規約は明確になってる。それを正しく理解 しないで使うと、メモリリークしたり廃棄済みオブジェクトを操作して事故ったりする事 になる。
>>390 確かにこれはCOMの弱点だね。GCなら問題ないけど。
でもこの問題を回避する方法はいろいろあるでしょ。
>>391 「○○に気をつければ大丈夫」と
「気にする必要がない」は
だいぶ違う。
393 :
デフォルトの名無しさん :03/09/19 00:59
結局、COMは終わりでつか。
>>393 アンマネージド環境であれば、まだまだ原液。
395 :
supermathmania ◆ViEu89Okng :03/09/23 17:14
Windows XPのCMD.EXEで、COMファイルを動かすとKKCFUNCが組み込まれましたとか出て、 さらに辞書が変更されてしまうようだが、KKCFUNCモードの辞書に単語登録はどうすればできるのか?
まったくCOMった奴だな。
>>395 COMはCOMでも、、、64KBタイニーモデルでつか。
398 :
デフォルトの名無しさん :03/10/05 10:53
age
399 :
デフォルトの名無しさん :03/10/05 11:44
>>391 GCだったら循環参照しても回収してくれるますか?
JavaのGCはだめなんですよね。
というか、GCも参照カウンタの延長線だと思ってるんですが
間違っていたら指摘お願いします。
それと話が変わりますが、Windows2003ではCOM+周りが強化
されてますね。だからといってCOMは無くならないとは
言いませんが。
C++ならBoehm使ってみ
ボエムといえばディープフォレストのボエム
402 :
デフォルトの名無しさん :03/10/06 13:47
COMって、引数や戻値のデータ型に関する規約って無いんですか? コンポーネントをC++で書いて、それをVBから呼び出す場合、 文字列をやり取りするには、BSTR型を使うべき? char* みたいなのはダメ? あれこれググってみましたが、データ型についての解説が見つかりません…
403 :
デフォルトの名無しさん :03/10/06 14:01
文字列ならOLECHARかBSTR。
>>402 文字列の受け渡しはBSTRしか使えない。
char*とかのANSI文字列はVBでは扱えない。
SysAllocString()とかSysFreeString()を頻繁に使うことになる。
BSTRとBSTR*パラメータは、属性([in], [in,out], [out], [out,retval])によって、
メモリの割当責任と開放責任が明確に決められてるから間違えないように。
間違えるとメモリリークするかクラッシュする。
>>405 BSTRパラメータの受け渡しルールについては、MSDNライブラリかMSDNウェブサイトで
"Strings the OLE Way" っていうドキュメントを検索すべし。すごく参考になるよ。
英文だけどね。
ものすご頭悪い質問かもしれないけど。 BSTRのエンコードって UTF-8 でつか?
UTF-16
UCS2
ボエムといえばぷっちーにのら・ぼえーむ
411 :
デフォルトの名無しさん :03/12/06 22:10
Windowsの実装形態が徐々に移行していくときにおいて、 COMの重要性は以前と比べても変わらないと思いますね。 WinFXにおいてもWin32との互換性を維持するということは COMやレジストリは当然残る。.NETとWin32の相互運用の ために、ますますCOMコンポーネントは重要です。
>>411 勘違いしているようですが、
Win32とは別にWinFXが搭載されるのです。
Win32はあるのでWin32を利用したアプリは動作しますが、
Win32とWinFXはAPIレベルでは互換性はありません。
つーかCOMってなに? そんなもの意識しないでも今までやってこれたんだが なんだよCOMって?
まさかcommand.comだと思ってるヤシは・・・
416 :
デフォルトの名無しさん :03/12/18 19:17
.NETではないのですが、Win2000pro sp3 で、 COM+アプリの実行アカウント設定ができなくなってしまいました。 ドメインに参加しているwin2000pro上でCOM+アプリケーションの新規作成 をしたいのですが、実行アカウントを設定する際にドメインユーザーアカウ ントを使おうとすると(ID: DOMAIN\hoge 等)、”入力したアカウントま たはパスワードが無効です”とエラーになってしまいます。 今現在設定したいアカウントでログインして作業しているのでアカウントが 無効なはずはないですし、そのユーザーはadminグループなので権限の問題 とも思いにくいです。 以前に作成したCOM+アプリケーションはそのアカウントを使用して 今も動作しています。 ローカルコンピュータアカウントは設定する事が出来るのですが、ドメイン アカウントを設定しようとするとどのアカウントを使用してもエラーに なってしまいます。 Norton2003が悪いのかと思って無効にしてみましたがやはりだめです。 システムのどこか致命的なところが壊れてしまったのでしょうか? どなたか対処法があれば教えてください
十年近く使えたから悔い無し
過去形なのか・・・。
あげとこう。
420 :
デフォルトの名無しさん :04/05/30 01:45
C# から COM 使ったり、 C# で書いたアセンブリを COM として公開したりできるよね?
421 :
デフォルトの名無しさん :04/05/30 01:59
今日財布落としました。中には2500円入ってました。 未だにその財布は見つかってません。ほんと、COMったもんです。
>421 ぎゃはは、腹痛えー、氏にそうだよ! (´-ω-`)
COMに、はやられた? 流行ってませんが。過去形ですか?
というか、.NETってCOMに似てる発想が随所にあるだろ。 COMで学んだ知識は無駄にはならないという初期の意見に賛成。
Don Boxの表現だと COM = よりよいC++としてのCOM COM+ = よりよいCOMとしてCOM+ .NET = よりよいCOM+として.NET
ActiveXが抜けてますよ。
427 :
デフォルトの名無しさん :04/05/30 14:24
あの、いまさら質問しにくいんですが、 クラスファクトリの存在意義が分かりません。
ウチには存在してないので、大丈夫です。
>>427 もし持ってればEssential COMを読むべし。
GoFとかにもFactory的なパターンがいっぱいあるけど
その理由がわかる。
簡単に書くと、ほんとはクライアントはnewでサーバインスタンス
を作成したいが、そのためには、サーバクラスの実装(バイナリレイアウト)
がわかってないといけない。しかし、それだとインタフェースと実装
の分離(COMの意義)にならないから、第三者(クラスファクトリ)に頼んで
newしてもらって、クライアントは基底クラスのポインタで受けるといった
操作が必要になる。
レジストリとかいじるからCOMは嫌。 COM関連アプリインスコするのが恐ろしい。
431 :
デフォルトの名無しさん :04/05/30 15:27
>>429 解説ありがとうございます。
Essential COM ですか、Addison-Wesley のやつですね。
残念ながら持っていないので、MSDN ライブラリの中のドキュメントを眺めてます。
「COMプログラマの解説書」というタイトルのやつです。
ファクトリがらみでいくつかのサンプルコードを見ていて疑問なのは、
なぜクラスファクトリを単独の COM オブジェクトとして用意するのか、
ということです。
たとえば、いま新しいCOMコンポーネントを作るとして、
そのインターフェイスは当然 IUnknown を継承しているわけですが、
それとは別に IClassFactory を継承したクラスファクトリを
用意するわけですよね?
それなら、そんなまどろっこしいことはせずに、
最初から IClassFactory を継承して
あたらしいCOMコンポーネントを作れば済む気がするんですが。
432 :
デフォルトの名無しさん :04/05/30 15:30
C++ でプログラム組んでて、例外処理を使いたく無いときは コンストラクタでおきたエラーを通知するのが難しいので、 自分自身をインスタンス化する静的メソッドを用意する というのは良く使う方法なので、それと似てるなぁ、 と解釈していたんですが。
例外処理を使いたくないときというのがいつなのか知りたい。
組み込みで例外処理用のルーチンを入れる余裕が無いときとか。
そういう環境なら、そもそもC++で組むなと
>>430 今時、レジストリを使わないプログラムのほうが珍しいと思う。
>>435 まぁまぁそういわず。
最近は「はい、これ、クラスライブラリね」
って渡されてみたら、すべて static public なメソッドだった。
ってこともある (w
>>437 クラスに入ったライブラリという意味だろ。
439 :
デフォルトの名無しさん :04/05/30 21:34
漢な俺は COBOLと、x86-x87-SSEアセンブラで食ってます
ココまでのレス読まずに漢らしく聞いてみる。 DCOMはどうなのよ?
>>429 > もし持ってればEssential COMを読むべし。
見つけました。 MSDN の「Book Excerpt」に入っていました。
>>440 >DCOMはどうなのよ?
.NET Remotingに取って代わられて無事逝去されますた
COM は C# からも使えるのか…って試してみたら なに〜 OLE オートメーションでなくちゃだめだって。 IDispatch をピュアCで実装するのは面倒… ATL に逃げました。アヒャ
Visual Studio.NET 2003 で ATL を使ってCOMコンポーネントを作りました。 続けて他のプロジェクトから何の気なしに「参照設定」すると、 さっき作ったCOMコンポーネントが登録されているのを発見。 これ、いつ、誰が、登録したんでしょう… Visual Studio.NET 2003 が勝手に regsvr32 したんでしょうか??
ヘルプに書いてあった… ------------ [ビルド] メニューの [ソリューションのビルド] をクリックします。 プロジェクトが正常にビルドされると、 オペレーティング システムにサーバーが登録されます。
>>445 プロジェクトのプロパティに「登録汁!」とかチェック入ってるでそ。
>>447 ビルド後のイベントに regsvr32 が指定されていました。
昨日の夜は C# から ATL で作った COM が呼び出せてうれしかったんで、
こんばんは逆に C# で作ったアセンブリを COM として呼び出してみようと思ってます。
単に呼び出すだけじゃつまらないので、適当な ADO.NET データプロバイダを作って、
COM として登録し、 MS Access の VBA から呼んでみたいと思ってます。
おもちゃだなぁ。
期待age どっかの掲示板でそういった使い方は難しいと見た覚えがある
mscorlibやSystemをtlbexpしてVC++からimportしるということはできんのかな? アプリ側ではマネージ用ソース書きたくないときに、 .NetライブラリをCOMとして呼んだりできないのかなと思って。 結局TLBは吐かれるけどメソッド周りが空っぽで使えなかったYO。 普通にマネージられろとおっしゃるんですな。
>>450 .NET のアセンブリ側が条件を満たしていれば
できるかもなぁ。CCW とか RegAsm コマンド周りの話だよね?
C# で書いたクラスを COM として公開することはできるんだけどな。
つーことはシコシコとラッパークラスを書けばいいのかも。
なんか勘違いなこといってるかもな、俺。
ちなみに、
>>448 でやりて〜って行ってたこと、まだできてません。
今の会社がなくなりそうなんで、転職先探し中で多忙。
はやく5月分の給料くれ〜
俺はC#で自作したコントロールが糞重いので C++でActiveXコントロールと思い勉強中だ。
今からでもCOMやるひと結構いるんだな そういう漏れもやり直しているわけだが。。。
いろいろなDLLを作るときに、COMにするべきかどうか迷います。 COMにした方が良い場合、COMにしない方がいい場合のアドバイスが欲しいです。
そこでいうCOMって、regsvr32.exeで登録する本物のCOMのこと?
>>455 なんでcommand.comの話をしなきゃならんのだ?
64KBの楽園 それが COM
>>457 それは誤解の無いようにCOMMと略すぞ
461 :
デフォルトの名無しさん :04/06/10 10:06
やっとQueryInterfaceが理解できた。 dynamic_castみたいなもんだね。 そうならそうと最初に言ってくれよ!
.NETはまだまだ重たいので、良く使う機能はCOMとして残っていくような気がする。 COMの接着剤言語としてのVB6がそのまま.NETに、VBランタイムがCLRに置き換わるような感じで。 C#やVB.NETで動作保証されたCOMってありなんじゃないのかな。 スレッドモデルの違いで、動作しないものもあるしさ。
比較になってない
ΣΣ(゚д゚lll) 「"COM" は一般すぎる言葉のため、 検索には使用されていません。」
>>467 そうなんだよ。もうCOMってのは一般過ぎる単語なんだよ。
それだけ COM が普及しているってことだね!
調べるとき困るんだよね・・・
>469 そういう時にはCOM+。。。ではなくて+COM。
>>470 ダブルクォーテーションマークで囲むとかね。
CoInitializeするの忘れてて、どうしても動作せず、3日間悩んだことがあった。
いままで自分が作ったCOMでは int とか char* くらいしか 入出力に使わなかったんですが、多くのCOMコンポーネントでは 構造体とか受け渡しできますよね? これってどうやっているんでしょう? 特に参照設定したら Visual Studio の IntelliSense で 入力時にプロトタイプを表示して支援してくれるようにするには。
>>467 どの検索エンジンを使っているの? googleでもyahooでもないみたいだけど。
>>469 C言語にはかなわないと思われ。
あぁ分かった。COM単体で検索してもエラーにならないけど、
他の単語と一緒に検索するとエラーになるね。
まあそういう時は
>>470 をやればいいだけなんで別に困らないけど。
>>474 > どの検索エンジンを使っているの? googleでもyahooでもないみたいだけど。
Googleだとおもうよ。
バージョン管理が楽
COM正直めんどくさすぎ。
>>473 idl で構造体を定義する。
INPROC サーバなら、struct の利用も簡便でいいかもね。
書き方は VC とか SDK に入ってる *.idl を struct で検索して真似してみて。
いまどき64Kじゃなぁ・・・
>>431 ファクトリがらみでいくつかのサンプルコードを見ていて疑問なのは、
なぜクラスファクトリを単独の COM オブジェクトとして用意するのか、
ということです。
たとえば、いま新しいCOMコンポーネントを作るとして、
そのインターフェイスは当然 IUnknown を継承しているわけですが、
それとは別に IClassFactory を継承したクラスファクトリを
用意するわけですよね?
それなら、そんなまどろっこしいことはせずに、
最初から IClassFactory を継承して
あたらしいCOMコンポーネントを作れば済む気がするんですが。
亀でつが...
確かにそう思えるわよね。IClassFactoryを直接継承すればいい?
でも、インスタンスを生成するためのインスタンスがいりまつ。(にわとり
とタマゴの問題)
じゃあ432の言うように自身を生成するStatic関数を持たせればOK?
でもCOMはインタフェース定義に純粋仮想関数しかもてない仕様
(故にインタフェースなのだが...)だからダメでつ。
というわけで他人(クラスファクトリ)に作ってもらう必要がるのでつ。
485 :
デフォルトの名無しさん :04/06/20 01:57
教えてください。 COMはよくインタフェース継承だと言われますが、 実装継承になぜしなかったのですか? インタフェース継承にはなんかメリットがあるのですか? 普通OOについて議論するときは実装継承OOのこと だと思うのですが。
>>485 ネタだとは思うが
「普通OOについて議論するときは実装継承OOのこと」ではないことは
良い子のみんなは覚えておこうね
>>486 レスありがとうございますm(__)m
ネタじゃないんです(TT
他言語(JAVA?)は実装継承なのに、COMはインタフェース継承だから
基底クラスのコードまで継承クラスで全部書かなくちゃいけないから
なんなもの継承でもなんでもないって先輩に笑われたもので...
このスレ読んでたらCOMの勉強したくなってきた。 InsideCOM+からCOM+の特徴5原則 ・オブジェクトとスタティックインターフェイスセット QueryInterfaceを通してアクセス可能な一連のインターフェイスは スタティックでなければならず、ダイナミックであってはいけない ・IUnknownの一意性 QueryInterfaceはIUknownインターフェイスへのポインタ取得要求が あった場合、要求元のクライアントに対して常に同一のメモリアドレスを 返さなければならない。これはIUnknownだけの特徴。 ・QueryInterfaceは再帰的な性質を持つ。 クライアントがあるインターフェイスへのポインタを保持し、さらに 同じインターフェイスへのポインタを問い合わせた場合、その要求は 成功する必要がある。 ・QueryInterfaceは対称的な性質を持つ。 クライアントが一つのインターフェイスポインタを保持し、第二の インターフェイスポインタの問い合わせにも成功した場合、その クライアントは、第二のポインタ経由で第一のインターフェイス ポインタをQueryInterface呼び出しで取得できる必要がある。 ・QueryInterfaceは自立的な性質を持つ。 第一のインターフェイスポインタから第二のインターフェイスポインタ、 第二のインターフェイスポインタから第三のインターフェイスポインタ、 と取得できた場合、そのクライアントは、第一のインターフェイス ポインタ経由で、第三のインターフェイスポインタも取得できる 必要がある。
489 :
デフォルトの名無しさん :04/06/20 09:53
なんか変なC#厨が沸いてるな。相手してほしけりゃこっち来い。
>>487 COMという規格と言語を同列で比較するその先輩がおかしいだけ
COMのソースを実装継承可能な言語で保持しているなら、次バージョンを実装継承で作成できる
またCOMの実装再利用の基本はコンポジッション
HRESULT Hoge(...){ member.Hoge(...); }
とすれば「全部書かなくちゃいけない」ってことにはならない
実装を新たに書き起こすのは、そちらの方が旧バージョンより優れているから
そうやって書き換えても、COMは下位互換を保ち続ける
その先輩は、COMを知らないんじゃないの?
ちなみに継承には
・インタフェイス継承
・実装継承
・型継承
……の3種類がある。
実装継承だけが継承だという勘違いは、
きっと「差分プログラミング」=「OO」だと勘違いしてるんだろうね
491 :
デフォルトの名無しさん :04/06/20 13:08
COMって結局何がいいの?適当にDLLで関数公開して、 クライアントにハンドルであれこれやらせるほうがいいんじゃね?
493 :
デフォルトの名無しさん :04/06/20 14:11
COM=過去の遺物
494 :
デフォルトの名無しさん :04/06/20 14:33
>>493 現在Windowsを使っているなら、必ずCOMを使っているはずですよ。 (w
自分ではそのつもりはなくてもね。
>>490 レスどうもありがとうございます。
OOって難しいんですねぇ。
私も先輩の説明を勘違いしたのかもしれません。
もっと勉強してきますのでまたよろしくおねがいいたしますm(__)m
既存のCOMインターフェース使うだけなら バカでもokなCOMマンセー
497 :
デフォルトの名無しさん :04/06/21 09:50
クラスファクトリは、coclassごとに作るの? それともDLLに一つだけあればいいの?
498 :
デフォルトの名無しさん :04/06/21 14:58
COMコンポーネントに関するお作法を盛り込んだテンプレートライブラリとかないの? coclass作るごとに、似たようなルーチンばっかりのファクトリを定義したりして バカみたい。
ATL
>499 釣れた釣れた
501 :
デフォルトの名無しさん :04/06/21 16:07
502 :
デフォルトの名無しさん :04/06/21 16:25
504 :
デフォルトの名無しさん :04/06/21 18:00
もっと普遍的な知識を蓄積したほうが人生は豊かになると思う。
ここだけ時間が10年遅れてるスレかとオモタw
506 :
デフォルトの名無しさん :04/06/21 19:26
COMも理解出来ないC#厨 いまだにCOMか!と嬉しそうなDOSジジイ ハァ?CORBA?Socketでいいじゃんとほざくうに屋 まったくどいつもこいつもバカばっか
COMだと派生も出来ないし実行するまでエラーになるか分からないし、 C++との相性最悪で使い勝手悪いから消えるだけ。
508 :
デフォルトの名無しさん :04/06/21 19:36
>C++との相性最悪 たとえば?
COMとか.NETとか意味ワカンネー、簡単に説明できる人いたらよろしく
>>508 きっとこういうコード書いてるんですよ。憶測なので違ってたらスマソけど。
ATL だの何だのが無いとそれなりに相性は悪いと思う。
IFoo* pFoo;
IBar* pBar;
... // pFoo に何か入る
...
IFoo* pTmpFoo;
if (SUCCEEDED( pBar->QueryInterface(hoge, (LPVOID*) &pTmpFoo)) {
if (pTmpFoo != pFoo) {
if (pFoo) pFoo->Release();
pFoo = pTmpFoo;
}
}
>>510 まがいなりにもC++って言うんなら
自前でラッパクラスくらいつくれって感じだよね!
>>512 え?
VCなら#importでラッパクラスの自動生成するけど。
シンクインターフェースの実装が面倒くさいってことなんじゃないノン? 彼らが意味を解しているかどうかしらないけど。
>>514 たしかに __raise のラクさ加減に比べたら、受け取る方はえらい面倒だよね・・・
COMって言えば、あれだろ
64k以内に収まるっていう実行ファイルのこと
いまさらこんな過去の実行形式持ち出して
やられたって
>>1 は馬鹿だな
517 :
デフォルトの名無しさん :04/06/22 13:37
ガイシュツすぎて開いた口が塞がりません。
From: [516] デフォルトの名無しさん <sage>
Date: 04/06/22 13:37
COMって言えば、あれだろ
64k以内に収まるっていう実行ファイルのこと
いまさらこんな過去の実行形式持ち出して
やられたって
>>1 は馬鹿だな
こんな短時間に3匹か 俺も結構釣り士の才能あるかな
>>511 COMがどれくらい普遍から離れてるかというと、
MSがUNIXに移植して、というか、しかけて根を上げた。
UNIXにまで64Kの壁を持ち込むな!
UNIXでマルチスレッドが一般的でなかったから
そもそも機能のコンポーネント化が殆ど(てか全く?)なされてない Unix で COM みたいな ORB なんか使っても、あんま嬉しくないしね・・・ むしろ Perl のモジュールに関する規格の方が有用っぽい。
違うだろ。 VBとかMFCの世界があまりに汚くて、Win9Xでやっとやっと動くしろもの。 誰もそれの世界を延長したりしない。
>>523 PDP11って64kの壁があったと記憶してるんだが
MFCとCOMはあまり関係ないけどね。 つか、あまり相性は良くない。ATL/WTLだとだいぶ使いやすくなるけど。。。
COMはともかくとして、いよいよCORBAって終わりなのかな? まともに使われてる実装ってCOMしかないじゃん。Netscapeは ブラウザにORBを実装しようとしていたらしくて、それがMSに 標的とされた理由だとか。まあ妄想の類いだろうけど。 OMGは結局UMLとかそっちだけになっちゃったね。
COMとCORBAを並べるのは無理がある。 複合ドキュメントではじまって部品となったCOMもDelphiなんかのクラスコントロールに敗北。
OpenDocを早々に見限ったAppleは勝ち組みですか?
OpenDocで音楽を鳴らしてるのがiPodでつ。
>>526 Unix に綺麗なORBやコンポーネント技術があるわけでもないし、COM は VB とも MFC ともあまり関係ないよ。
MFCのソースをちょっと読めば、MFC の COM サポートが後付けの貧弱なものだってわかるはずだし。
(VB とは歴史的接点があるけどね)
っていうかこのスレ、プログラマ板向きだよね。
>>531 Microsoft も実は複合ドキュメントとしての OLE (Object Linking and Embeded) については
かなーり早い段階で見放して継子扱いしてたような。使い勝手も悪かったし。
インタフェイス抽象とクラスファクトリを主たるコンセプトとして持つORB は便利だけど、
「複合ドキュメント」ってのはアイデア倒れで現実には不便なものだったような気がする。
TRONの実身化身みたいに。
MFCはVisual C++1.0以前の、MS-CVer7で登場しているしね。 COMのルーツであるOLE2よりもずっと前のお話。 VBも16bit板ではVBXとかいう部品が無かったかな。 (この頃はペーペーでCとASMしか使ってないので記憶が曖昧)
コモンコントロールはVB用です。
538 :
デフォルトの名無しさん :04/06/22 18:30
OLE3とCOMは何が違うの?
>>536 ・・・知識が5年前の水準で止まっちゃってるよ。
DirectShow なんか全コンポーネント COM だけど VB で使われてる?
Microsoft Web Browser コントロールを使った2ちゃんブラウザ(ほぼ全部だけど)は VB で書かれてる?
Internet Exproler 自体 COM コンポーネントの塊だけど、これ VB で書かれてるの
VB用ってのは後付けだろ。 IUnknownにはIDispatchないし。
元々はオートメーションは無いね。 VBはオートメーション前提だけど。
COM == VBのポトペタ部品と理解している厨が紛れ込んでいるな。
543 :
デフォルトの名無しさん :04/06/22 21:59
OLEドキュメント==COMと思ってるPOI厨もいるけどな。
544 :
デフォルトの名無しさん :04/06/22 22:10
おら、昔一太郎にエクセルの表が貼れるのに びっくらこいて、その上おまけに一太郎上でエクセル の表が編集できて(インプレースエディットだっけか) 腰が抜けたばい。
コンポーネントオブジェクトモデル?
546 :
デフォルトの名無しさん :04/06/22 22:51
そう、肛門じゃないYO!
OLE→ActiveX→COM→.NETか・・・
COM → COMAN
ActiveXはCOMの後だろ
OCXが抜けてるぞ。 あと、それぞれの過程でインターフェースのサポートが追加されているわけだが、 理解しているか。
551 :
デフォルトの名無しさん :04/06/23 00:56
OLE1.5がCOMだっけ。 COM+2.0が.NETだよね。わけわかんね。 誰かいままでの流れの説明きぼんぬ!
DDE ↓ NET DDE ↓ 埋め込みしたいなぁ... ↓ OLE1.0(DDE使用) ↓ OLE2.0=COM ただし目的はインプレースドキュメント しかしその背景には本質としてバイナリオブジェクト標準あんどオブジェクト通信の思想あり 部品としてVB用のVBX ↓ COMを使ったOCX ゲイツがインターネットに熱上げあんどJAVA Appletはやる ↓ COMつかってActiveX だんだんオブジェクトはやってくる。 ↓ オブジェクトもでるとしてCOMの宣伝開始 ↓ WindowsDNA ↓ COM+ COM Runtimeの情報漏れ始め ↓ しばらくしてから.NETとしてCOMじゃないものに...でもそういう流れではよりよいCOMとして.NETがある。 記憶のみなので詳細違うかも...
>>552 (・∀・)イイ!!
そういやまだインターネットが流行りだしたころ、
ゲイツはそれを軽視してたんだけど、だんだん脅威
に感じはじめて、次世代インターネット技術という触れ込み
でActiveXなんて言葉つくたんだよなぁ。(中身はOLEだったん
だが...)
>>490 型継承って分かんない。インターフェースの継承となんか違うの?
>>491 そう思うこともあるけど、インターフェースが統一されてて
色々VisualC++の支援が受けられるCOMの方が大抵は使いやすい。
スクリプト言語からテスト実行しやすいし。
レジストリ登録が無ければいいんだけどなー。
ひまなので追加。年代うろ覚え。私情はいってすまんそ。 DDE(Win3.1or3.0 1993) ↓ NET DDE (Win3.1 1994) ↓ 埋め込みしたいなぁ... ↓ OLE1.0(DDE使用) ↓ OLE2.0=COM ただし目的はインプレースドキュメント。しかしその背景には本質としてバイナリオブジェクト標準あんどオブジェクト通信の思想あり。この辺で名慮or迷著 InsideOLEあんどIsideOLE2。死者多数。 部品としてVB用のVBX (VB2.0からVB4.0 1995あたり) ↓ COMを使ったOCX (1996あたり)結局コンポーネントビジネスはやんなかったな... ゲイツがインターネットに熱上げあんどJAVA Appletはやる (1995) ↓ COMつかってActiveX(1996) だんだんオブジェクトはやってくる。 (UMLなど1997)オブジェクトもでるとしてCOMの宣伝開始 DCOMなどCORBAとがっぷり。この辺でMTSではじめ ↓ マーケティングてきなWindowsDNA 。MTS2.0それなりに使えそう。つか使った。DCOM糞。(1999) ↓ COM+ (Win2000、2000)In-MemoryDBどこいったゴラァ COM Runtimeの情報漏れ始め (2000〜) ↓ しばらくしてから.NETとしてCOMじゃないものに...でもそういう流れではよりよいCOMとして.NETがある。 そういうんでは個人的には.NET ゲイツの僕になる&いまんとこGenericsない&おそいのは屈辱だがモノつくりとしては結構便利。つか楽。
COM と VJ の組み合わせから COOL インタプリタであったMSJAVA.DLLを、COMとの型情報共有を維持したまま 実行時コンパイルの形態へ設計し直し、また言語としてC#,VB.NETを作成。 .NETの骨組みが出来上がる。 OS(EXE,DLL)/Win32{,/COM}/.NETとごちゃごちゃしていたものを、 IL実行の観点を中心にOSの内部設計を見直したものが次世代Windows。
単なるいつも通りのスクラップ&ビルドが.NETだろ。
派生出来ないCOMがクラスライブラリの中で浮いていたように、 プログラミングのパラダイムが実行時に派生するようになったら、 クラスライブラリOSのWinFXは浮いちゃうよな。 シミュレーションなんかには静的クラスでは事足りない。 OSレベルでは関数API、その上にラッパークラスというのが正しい進化。
間違った進化の後にはスクラップ&ビルド、 これが正しいM$の姿。
COM Runtimeは97年頃から一部の開発者には公開されていたよ。
562 :
デフォルトの名無しさん :04/06/23 10:03
ベースがOLE2というのは一貫しているんだね。
日本語の怪しい奴がいるな。
564 :
デフォルトの名無しさん :04/06/23 10:06
同意。Longhornが発売されるころには時代遅れライブラリ確定だろうね。 お粗末な.NETの設計が尾を引いて、技術革新に対応できなさそう。
↓ .NET流行らず(〜2006) ↓ WinFX完成(2007) ↓ オブジェクトベースプログラミングにより、OSは関数コールに戻る(2008) WinFX下位互換へ
またネィティブに戻るかも。
Microsoft の場合、膨大なマンパワーでいろんなフレームワークやライブラリや コンポーネントを作ってくるから、正直その下回りがどう OS とインタラクトしてるかは あまり気にならない・・・というか気にしたくない感じ。 >>OSレベルでは関数API、その上にラッパークラスというのが正しい進化。 つまり現行の Windows XP + .NET Framework が正しい姿である、ということか。
UNIX/Cというのはあんまりフレキシブルじゃないし万能でもない。 もちろんよい解決策ではあったし、今現在もっとも広く使われているけど それだけのこと。
>>OSレベルでは関数API、その上にラッパークラスというのが正しい進化。 >つまり現行の Windows XP + .NET Framework が正しい姿である、ということか。 その通り、というかDelとJavaをコピーしたわけじゃん。 でも、サーバサイドでJavaに負けて、クライアントサイドでDelに負けてるだけで。
なんだ。Del厨か。
Javaはともかく、Delをコピーだと。 開発者引き抜きはしたがDelはコピーされて無いだろが。 あれをコピーとするなら、DelはVB2.0のコピーだな。
Del厨にはつられた...
.NETマガジンに吉田某のレビューがあったよ。 Delphi.NETはC#よりも進んだ言語仕様を持っていて 現時点で最高かつ唯一実用に耐える開発環境だって。 今月号のdotNETマガジンに約10ページを割いてDelphi8の特集記事があったけど。 基本的にマンセー記事。 最終的には.netをやるのかどうかというところに行き着いてしまうのだが
>>571 Java, C++, VB, Delphiあたりからパクリまくってるだろ。
C#、.NETは最新かつ中庸な言語、環境だよ。
Cが好きな人もいれば、Pascalが好きな人もいる。 それだけのことでしょ。で、ここはCOMスレなんだけど。
以下何事もなかったように ORG 100H
OTLが抜けてるぞ
OTZ
コピーとか優劣とかいう以前に、Delphi なんて「そもそも勝負の場に出てきて無い」
ような気がする漏れは世界が狭すぎるのか?
Delphi での開発なんて客に提案できないし、個人的にも興味が無いなぁ。
>>573 マイナーな物をウォッチするのはライターのメシの種だからなぁ。
趣味のツールですから<デルファイ
>>579 世界狭杉。
この板のM$マンせーでさえWin32の最適解はDelとなってる。
Visual E++がWn32の最適解
Visualはやっぱりオレが一番だよな
>>579 狭いね。
Del使いを釣っている香具師らはDelを使ったことないか、3分間使ってIDEが気に入らなくて敗北したか、
紙面やWEB上の情報に踊らされているだけだから。
そういう話はDelスレで。
Windowsのドライバ設定画面とかユーティリティソフトとか、 某アイコン出まくり。 某アイコンが出ないアプリはMFC標準のダサダサ使いにくいMDI出まくり。
消え行くのはCOM、VB、MFC、ATL、J++/WFC。
COMにはやられた・・・と思ってる人が集まってるスレはここですか?
590 :
デフォルトの名無しさん :04/06/23 14:35
COMは何度でも蘇るさ
Hello World!!レベルなオレには何のことやらさっぱり・・・
592 :
デフォルトの名無しさん :04/06/23 14:53
>>17 > .NETは主にネットワーク環境でということだろう。
翼システムくらいでしょ。デルファイを使うような会社は。
>>593 俺が前いた会社も全社的にDelphi使ってたけど。
まあSIが組織的に採用しないことにはなかなか
使われるケースは少なそうだ。
>>592 このスレが立った当時はWinFXの詳細が明らかになって
なかったからしょうがないのでは。その頃はバイナリ
作りたかったらCOMにし、.NETからアクセスするっていう
風に思ってた人が多かったし。
なんだかユーザの数をあてにしてる野師がいるみたいだが、 ハンメルンの笛吹きに踊らされて海で溺れたネズミがVBとActiveXだろ。 VBアプリみたいなきちゃないネズミはインストールしないさ。
596 :
デフォルトの名無しさん :04/06/23 22:42
先日質問した者ですがまたおながいしますm(__)m COMインタフェースは純粋仮想関数で定義しますが、 これはどうしてでしょうか? 普通の仮想関数にしておけば、デフォルト実装できますし、 そのインタフェースを継承する別のインタフェースは デフォルト実装に任せるか、自身で再定義するかの 選択の余地があると思うのですが。。。 純粋仮想関数にするが故に、毎回毎回IUnkownから自力 で書かなきゃいけないような気がするのですが。
実装継承が出来ないからしゃーない
>>596 だってCOMの規格には「実装」なんて定義されてないもん。
「HTTP プロトコルはどうしてプロトコルだけ決められていて、
デフォルト実装が配布されていないのでしょうか?」という質問の類。
あと例えば C+++ の場合には、「普通の仮想関数にする」だけじゃなくて、
実装を収めたライブラリも必要になりますよね。
もちろん、「実装」を持っているインプリメンタは、普通に(C++なりなんなり、実装に使う言語で)
実装継承しても構わないし、何かリフレクション関連で強力な機能を持っている言語を使えるのであれば、
クラフスファクトリから返されたインスタンスを動的に実装継承して拡張することもできるでしょう。
C++ 用に単にクラスライブラリが欲しいだけであれば、ATL をお勧めします。
>>598 先日もCOMの規約と、COMを記述する言語とを
ごっちゃにしているとここで教えていただいたのですが、
まだ理解できてないようです。
でもHTTPの例はよくわかります。
COMって難しいですね。もっと勉強してきますですm(__)m
無駄にならないといいが名
最近このスレ元気だな
COMにやられたとか言ってる場合じゃないぞ うちのプログラミング演習の担当教授なんてプログラム組めないんだぞ<普通なのか? Hello World !!すら表示できない。パソコン自体苦手だそうだ・・・もうだめぽ
603 :
デフォルトの名無しさん :04/06/24 09:24
loaderを拡張して、COMで実装継承できるようになるならない? 既存のバイナリはそのままに。個人的には中間言語を間に挟むのは どうも納得いかない。LISPが遅いと拒絶された理由そのものだったり するわけで。
まあでも.NETがバイナリと中間言語をシームレスに繋ぐ技術ってのは なんとなく分るから、やっぱりそっちが最適な解決方法なんだろうけどね。
>>604 俺も今まで C++ で書いた資産との間を
つなぐために COM <-> .NET つかってたが、
最近はコア部分だけを DLL にして、
.NET でラッパークラス書くようにしている。
そういや、別スレで UNIXの curses ライブラリを DLL
にしてラッパークラス書いてるやついたな。
>>605 .NET でラッパークラス書くってのは言い方が悪いな。
C# でラッパークラスを書く、ってことだ。
ExcelのVBAから呼び出すCOMオブジェクトを作成しています。 開発が進めば進むほど、ExcelVBAからCOMを呼び出すのが どんどん遅くなりました。 レジストリが原因だと思うんだけど、具体的にどんなツールでどんなことをすれば 速くなるんだろう。 えらい人教えて。
607です。 開発環境はWindowsXP VC6.0SP5です。
だから、COMは遅いしCOMの時代は終わるんだから、DLLとかにしとけば?
>>603 実装継承は(使う場面がほとんど無いので)ともかく、実際 C++ で COM 使って面倒なところって
そもそも実装が無い Sink インターフェイスの実装じゃない?
全部 E_NOTIMPL 返すスタブとかが #import でついでに生成されるとラクなんだけど。
一度コードジェネレータを作れば済む話じゃないか
コードジェネレータの吐き出すソースが手に負えないから、 差分開発のクラスライブラリに移行したわけで、 パラダイム違い。
スタブぐらい生成できるだろ
607です。 他のところで聞いてみます。 ありがとうございました。
615 :
デフォルトの名無しさん :04/06/25 00:07
>> 567 亀ですまぬ。 5年前しか知らんが、その頃は確かに、COMの裏側は気にしたくない感じだった。 Apartment Model の Inprocess Server が作られると、裏で密かに不可視の ウィンドウが作られ、そのメッセージループでメソッドが呼び出されるようになって いたとか。 で、そのうち、COMオブジェクトを多用すると(絵がなくても)バンバンとリソースを 食って困るのが分かったからか知らんが、Win32 API に密かに手が入って、 Message-Only Window なんて怪しげな仕組みが実装されたりしたとか。
616 :
デフォルトの名無しさん :04/06/25 01:20
617 :
デフォルトの名無しさん :04/06/25 02:36
インタフェースについてお願いします。 ICat と IDog という2つのインタフェースがあり その2つから IDogCat を派生させたいのですが、 interface IDogCat : public IDog, public ICat { ... }; とするのは多重継承になるのでできないと聞きました。 ではどうすればいいのでしょうか? interface IDog : public ICat { ... }; interface IDogCat : public IDog { ... }; とするのでしょうか?
>>617 よく分らんけど、IDogCatなるインターフェイスに意味はあるの?
coclassで二つのインターフェイスを継承すればいいだけのような。
JavaやC#だってそういう作りになるでしょ。
>>610 共有ライブラリで関数のエクスポートというものが、Cへの
システム側の対応だとする。C++もその形態にはめ込む形で
なんとか対応できた(MFC)。
で、.NETだけどMC++みたいに、言語仕様の拡張(というか
コンパイラへの機能追加だけど)を前提とするのなら、
そもそもCOMでもそれは可能だったのではと思う。
VBやVJ++なんかが、COMと言語がシームレスに連携してるのを、
C++もその拡張で、真似ることが出来たのではないか、と。
これはWindowsがマルチプラットフォームを目指す姿勢がないのなら、
という仮定の話だけど。x86上で動くWindowsしか考えてなければ、
.NETなんてそもそも要らないような気もする。MSはやっぱりJavaの
"ポータブルな中間言語"というのが、一番欲しかったのかもしれない。
CEを組み込みに売ることにも一所懸命だし。
619 :
デフォルトの名無しさん :04/06/25 07:20
>JavaやC#だってそういう作りになるでしょ。 スマン。これは間違い。
あげてしまった。。。ウツダシノウ
>>618 レスどうもです。
>よく分らんけど、IDogCatなるインターフェイスに意味はあるの?
>coclassで二つのインターフェイスを継承すればいいだけのような。
そうなんですけど、ここで薦められてEssential COMを読んでいるのですが
その中にこの例が出てきて、「できない」とだけ書かれていて、解決方法
が書かれていなかったもんで。。。
あくまで1つのインタフェースとして、犬猫機能が欲しいんだと思います。
>>621 うん。できない。解決方法?は、全く別の interface として IDogCat を実装すること。
んで、IDogCat を実装するコンポーネントは、そうしたければ IDogCat に加えて
IDog も ICat も実装していても良い。
>>621 レスどうもです。
>全く別の interface として IDogCat を実装すること。
あっ!なるほどインタフェースは敬称せずに全く別物として
定義するんですね!
んで、実装では多重継承しようと開発言語の自由なので、
class CDogCat : public IDog, public ICat
{
...
};
みたいに書くんですね!
ありがとうございました。理解できますたm(__)m
やられスレにふさわしくない、まったりと平和な流れ・・・
COM形式のファイルをC++を使って書くとは・・・ 最大で64Kしかないんだからアセンブラ使えよな
627 :
デフォルトの名無しさん :04/07/03 12:10
あげとこう。
COMに何が「流行られた」の?
>>628 脳内パーサがバグってますよ。デバッグしてね。
630 :
デフォルトの名無しさん :04/07/05 01:42
自作COMのデバッグ用に、GUIを持った簡単なアプリをつくりたいのですが、 MFCで容易に作れるのでしょうか… 書籍やサイトを見て回ったりしてるのですが、 COMイベントの受け取り方がわかりませんでした。 何かキーワードなど、ヒントをいただけないでしょうか。
COMのテストコンテナってVCに付属してなかったけ
C#とかのほうが簡単でないかね?
>>630 すまそ。書いといてあれだが漏れもサーバ側のコードしか
書いたことないのでOCX(イベント周り)はよくわからんのだ(TT
でもActiveXコントロールテストコンテナでデバッグしてるのを
よく見たが...
なんかいい書籍があればいいけど、とりあえずツールメニューから
テストコンテナ立ち上げてヘルプたどってみたら。。。
>>634 先述の書籍"ATL COMプログラミング"では、
ATLでActiveXのコントロール(DLL)をクライアントとして作り、
そのクライアントをテストコンテナに挿入して…というやり方でした。
で、少しwebを検索していましたところ、こういう記述を見つけました。
http://www.users.gr.jp/ml/archive/viewer.aspx?name=com&no=2784 > ASP で動かす予定のコードと等価なコードを VB で書いて、COM コンポーネン
> トの VC++ プロジェクトでデバッグ対象を VB6.exe とかにしてやれば、メソッ
> ドが呼び出された瞬間以降をデバッグすることが出来ます。
私はCOMのデバッグするのにVB立ち上げて「面倒くさいな…」とか
言ってたのですが、
よく考えたらVCのデバッガを使えばブレークポイントとかもちゃんと
設定できますね…
>>635 の方法ではVBの実行ファイルにデバッグ情報が無い、
と言われてしまいました。
やはりActiveXで作成しないと駄目なのか…
637 :
デフォルトの名無しさん :04/07/05 21:08
なにがHSPだ! いままで何冊本を買ったと思ってんだ!! BASICとあんまし変わんねーじゃねーか!!! ふざけんな!金返せ!!!
>>636 デバッグ情報が無いと言われるのなら
デバッグ情報つければいいだけの話だろw
639 :
デフォルトの名無しさん :04/07/05 21:34
なにがVBだ! いままで何冊本を買ったと思ってんだ!! ふざけんな!金返せ!!!
なにがモザイクなしだ! 今まで何本ビデオ注文したと思ってんだ! ふざけんな!金返せ!!!
641 :
デフォルトの名無しさん :04/07/05 21:51
なにがドラクエだ! いままで何回全滅したと思ってんだ!! ふざけんな!ゴールド返せ!!!
COMってなに?ドメイン?
>>642 Component Object Model。マイクロソフトが作成した
オブジェクトの仕様。オブジェクトをどのように生成し、
どのようにインタフェースを公開するかといったことを
定めている。
644 :
デフォルトの名無しさん :04/07/05 22:26
なにが「今度結婚するの」だ! いままでいくら貢がせたと思ってんだ!! ふざけんな!金返せ!!! 一回ぐらいやらせてください。おながいします。
>>638 あ、VBってデバッグビルドできたんですか。
てっきりデバッグはインタプリタ(?)でやるものかと。
調べてみます…
646 :
デフォルトの名無しさん :04/07/05 23:57
>>645 プロジェクトのプロパティで設定すればよいですよ。
IE上で動かしているActiveXから親ウィンドウの(つまりIEの) ウィンドウハンドルを取得したいのですがどうすのかいまいちわかりません。 Delphi向けにはInPlaceSiteプロパティを参照するという記述を見つけたのですが・・ VC++から使いたいのです。
>>647 ATL なら m_spInPlaceSite から IOleInPlaceSite あたりを QueryInterface して
GetWindowContext で取れるんじゃない?
MFC はもー長い間使ってないからわかんないけど、GetClientSite で得た
インタフェイス経由で似たようなことができるでそ。
モニカって結局なんなの?
エゲレス人に聞くとよいよ
クリントンはエゲレスではなくメリケンだったと思ったが?
来て 来て 来て 来て サンタ……
今気づいたけどアメリカよりメリケンのほうが本物の発音に近いよな
654 :
デフォルトの名無しさん :04/07/25 15:38
あげとこう。
COMってなんでオブジェクト指向ちゃうのん?
64Kの壁が...
Inside OLE が絶版だとさ…どうすんべ
オーレ、オーレ
659 :
デフォルトの名無しさん :04/07/25 19:04
OLEにあってCOMにないものって何?
なんかすげえ質問を見た
>659 過剰な無駄
>>659 クリップボード、ドラッグドロップなど。
664 :
デフォルトの名無しさん :04/07/31 21:53
C使いに向いてるCOM入門サイトがあれば教えてもらえませんか?
というか、凄くアホな事を聞きますけど ひょっとしてCでCOMって無理ですか? MSDNを眺めてみるとIUnknownインターフェイスをエクスポートしれだの何だのと C++でなければ出来なそうなことが書かれてるんですが。
↑でのCOMは、COMコンポーネントの意で使いました。
あ、分かりました。放置してください。
668 :
デフォルトの名無しさん :04/08/01 09:23
仮想関数テーブルを直接触るコードを書けばいけるんじゃないの?
コムって秋葉原のげっちゅ屋の事じゃないのか
ドットコム
671 :
かけだしJavarer :04/08/06 19:03
板違いならすみません。 今、COM コンポーネントの新規追加で、エラーが出て困ってます。 インストールウィザードで、追加しようとすると、 "コンポーネントのインストールでDLLRegisterServerに失敗しました"と出てきます。 詳細ボタンを押すと、 "コンポーネントDLLの自己登録ルーチンが失敗しました。DLLRegisterServer関数が失敗したか、 ルーチンがコンポーネントを登録しませんでした" と出ます。 DLL自体は他のサーバーで動いてる物なので問題ないかと考えてるのですが、 どうゆうことなのかわからない状態です。 何か設定しないといけないと思うのですが、何をしたら良いものか... わかる方居たら、HELPお願いします。 ちなみにOS:win2000Serverです。
>>671 推測だけど、その DLL が使用している、他の DLL が存在しない、に1票。
邪推だけど、そもそもその DLL って喪前様が配布して良いようなブツなの?
どこから配布なんて話が出てくるんだ?
インストールウィザード使ってるってことは、インストーラを作って配布しようとしてるってことだよね。 んでここからは憶測と邪推なんだけど、もし失敗の原因が必須DLLが無いためだとすると、 なんとなくそのDLLの作成者とのコミュニケーションがうまく行っていないような気がするわけで、 配布条件については大丈夫なのかな、と。
WINGにはやられた・・・ なにがDirectXだ! いままで何冊本を買ったと思ってんだ!!
なつかしいな。
IEコンポーネントをCから使ってみようとしたけど挫折した・・orz
IEコンポーネントをDOSから使ってみようとしたけど挫折した・・orz
IEコンポーネントをMonoから使ってみようとしたけど挫折した・・orz
680 :
デフォルトの名無しさん :04/08/14 22:09
あげとこう。
681 :
デフォルトの名無しさん :04/09/07 09:57
つうかさ、本当にCOMを理解できる人なら、COMが何たるかとか理解できるから、
別にMSが言葉を変えても、技術的に基本の部分は変わらないので憑いていけるよな。
>>1 は理解してなくて、ぎりぎり使わされてるレベルなんだろ?
つうかさ、本当にCOMを理解できる人なら、COMが何たるかとか理解できるから、 COMは無くならないとMSが言っても、中身だけでなく技術的に基本の部分が委譲から派生に変わったこと分かるよな。
まぁ 1 == OTL ということだけは確かだなw
685 :
デフォルトの名無しさん :04/09/11 05:36:45
>>681 つーかなんでも出来るからな。
Webを閲覧しただけでプログラムが落ちてきて実行されるんだから
こんな危ないもの無いと思うが。
>>30 すっすっすっすっ…
スゲェ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜!!!!
687 :
デフォルトの名無しさん :04/09/14 09:45:53
なんだかDCOMがSP2にブロックされてるそうでつが、 DCOMはTCP/IPでサーバとやり取りすんでしたっけ?
688 :
デフォルトの名無しさん :04/09/14 10:35:02
FlashもDCOMだっけか? ブロックされるんだろうか。
SP2にはやられた...
SP2で動かなくなるのは糞PGだけ
一番被害を受けるのはM$マンセーのWindowsDNAだろ。 ActiveX死滅でブビが氏んでWindowsDNA死滅でVC厨が氏んだ。 全員被害を受けたかというとDelphiなんかはActiveXを無視してたから無傷。
本来あるべきセキュリティになっただけなのになんで糞PGどもは叩くの?
途中でルール変えられてめんどくさい仕事が増えるから
>つうかさ、本当にCOMを理解できる人なら、COMが何たるかとか理解できるから、 すぐ土台ごと入れ替わる技術はいらん。 宗教みたいな精神論もいらん。 磐石な土台の上に自分のクリエイティビティを育てていきたい。
>>694 今のトコ COM の歴史は、Java よりも Delphi よりも Linux よりも長いわけだけど。
すぐ使えなくなるわけでもないし。
>すぐ土台ごと入れ替わる技術はいらん。
これはむしろ JDK の無節操なバージョンアップに強く感じる・・・
下位互換性くらい保証して欲しい。
695は精神論で頭が行かれてる。 バージョンアップは派生であり、 COMから.NETへは中の人差し替え。
土台が入れ替わっても、バイナリの互換性さえ保証してもらえれば別段困らない。 派生であっても、バイナリの互換性が失われるようでは話にならない。 (コンシューマOSの場合の話だけど)。
GoFにはやられた...
M$にはやられた...
COMはだめになっても、CORBAはなくならないだろ。 CORBAスレはここのアホな削除人に消されたけど。
701 :
デフォルトの名無しさん :04/09/21 11:35:20
SP2 vs プラグイン--ActiveXの変更に困惑するソフトウェアメーカー japan.cnet.com/news/media/story/0,2000047715,20071923,00.htm
COMに流行られた
class AClass : public SomeClass, public ICOMInterface とすると不具合が起きるけど、 class AClass : public IOtherCOMInterface, public ICOMInterface, public SomeClass とすると不具合が起きません。 後者はIUnknownをvirtual継承しているわけでもないのに、 なんで問題が起きないんですか?
705 :
デフォルトの名無しさん :04/09/22 11:23:52
SP2のDCOM設定やたら難しい。 M$の推奨に従ってWindowsDNA開発したところは全滅じゃね? 他にもWindowsDNA協賛会社あっただろ。 謝罪汁!
COM+ やら COM 1.5 やら DCOM やらに踊らされずに、 ただの COM と http でシコシコやってきた漏れは勝ち組? かどうかは別として、Quallcom が cdma ソリューションで携帯へのデータの push の インタフェイスとして DCOM 使ってたんだけど、おかげで自社のE-Mail アプリ以外は 誰も使わないという途轍もなく無駄なことになってたのが記憶に新しいなぁ・・・ WinNT + Active Perl で端末にシグナルを送るサンプルとか出てたけど、微妙すぎ・・・
これだから16bit時代のゴミどもは
[out]なのに構造体を0フィルしてやらないと壊れた値が帰ってくるような ふざけた実装が多いのはなぜですか?
すべてはマーシャリングのため。
710 :
デフォルトの名無しさん :04/10/13 10:01:57
ActiveXコントロールに代わるようなものって .NETにはあるの?
いつもの様に名前変えただけ
CORBA vs COM とか言ってて、CORBAが死んだと思いきやCOMが自殺した。
>>712 CORBAはそれ以前の段階。
どっちにしろSOAPに殺されてるし。
ORBメーカーはほとんど壊滅したな。
715 :
デフォルトの名無しさん :04/10/18 12:09:02
716 :
デフォルトの名無しさん :04/10/19 13:59:34
誰か、COMとDirectXとOLEの関係を教えてくれ。 よくわからん
DirectX OLE ----------- COM
DirectX OLE ----------- COM こんな感じじゃないか?
DirectX ----------- COM OLE って感じだろ?
720 :
デフォルトの名無しさん :04/10/20 07:48:43
ちょっと違うんじゃないかな
実はみんなわかってない??
722 :
デフォルトの名無しさん :04/10/20 13:53:16
COMは、GUIDでオブジェクトを管理する仕組み。 OLEは、もともとはオブジェクトのリンクと埋め込み(WordにExcelの表を貼り付けたりリンクしたりして、Word上でExcelのように動作するやつ)のこと。 はじめは、COMとは関係なく、最初はDDEをつかって実装された。 いまでも、DDEでOLEが実装されているアプリケーションもある。 COM、ブラウザ、VBなどの登場でActiveXと名前が変更されたりして用語の意味が混乱したが、いまはもともとの意味をさすことが多い。 DirectXは、マルチメディアを操作するためのAPI。COMコンポーネントとして実装されているが、そうでない実装をしてはいけない理由もない。
>>722 ActiveXとDirectXを混同してたり、
GUID、DDEっていうのをはじめて知ったし、ためになりました。どうも。
>>722 最初のOLEの説明はOLE1の説明だね。COMはOLE2のうち、下部構造に属する
部分の呼び方を変えただけだよ。ActiveXはOLE2のいくつかの技術を呼び変
えただけ。
ActiveXコントロール = OLEコントロール(OCX)
ActiveXドキュメント = OLE複合ドキュメント
えーとあとなんかあったっけ? まあ細かいことをいうとActiveXコントロール
とOCXは厳密にはイコールではないけどね。
725 :
デフォルトの名無しさん :04/10/20 15:38:04
>>724 まあそうなんだが、今ではOLEコントロールなどのOLE2の意味でのOLEという用語は、混乱をさけるために使わないようになっている。
(Activeなんとかと呼ぶ)
DDEとかOLE詳しい人は30以上と見た
いまでも、OLEの次の技術は名前ぐらいしかあがっていないので、オブジェクトの埋め込みをサポートするなら今でも必要な知識。 DDEは、死んだ技術なのでいらないでしょう。
>>725 そりゃ今OLEって言葉は使わないでしょうけど、OLEつったら普通OLE2のことでしょう。
>>726 そりゃ30なんてとっくに過ぎてますよ。
DDEなんてまともに使ってたのはWindows3.1の頃だしね。
>>727 結局OLE2から基本的なところは変わってないわけですからね。
#インタフェースが増えたのと、DCOMのための拡張があったくらい
とはいっても自力でコンテナ/コンポーネント書く人はほとんどいないでしょうから、そんなに
深いところ理解する必要はないでしょうね。
729 :
デフォルトの名無しさん :04/10/29 22:00:30
ご存じの方がいらっしゃいましたら、教えていただきたく伺いました。orz
COMからイベントを受け取るプログラムをVC++で書いていたのですが、
::CoInitialize(NULL);
hRes = ::CoCreateInstance(CLSID_iTunesApp, NULL, CLSCTX_LOCAL_SERVER, IID_IiTunes, (PVOID *)&iITunes);
DWORD d;
IConnectionPoint * icp;
IConnectionPointContainer * icpc;
hRes = iITunes->QueryInterface(IID_IConnectionPointContainer,(PVOID *)&icpc);
hRes = icpc->FindConnectionPoint(DIID__IiTunesEvents,&icp);
//hRes = icp->Advise(&s,&d);
↑おそらく、ここにEventSinkであるsを設定すればいいのでしょうけど、
どのような実装をすればいいのか、教えていただけると助かります。
COMから送信されるイベントのインターフェイスが_IiTunesEventsらしいのですが、
これを継承したクラスを指定するのでしょうか?
(その場合、IDispatchを自分で実装するのでしょうか?)
COMのCLSIDがCLSID_iTunesAppでIIDがIID_IiTunesで、
COMから送信されるイベントのIIDがDIID__IiTunesEventsと言うことです。
↓このSDKを使用しています。
http://developer.apple.com/sdk/itunescomsdk.html
>>729 イベントシンクのインターフェイスは dispinterface といって、メンバに対する dispid が
固定されていることが約束された IDispatch のようなインタフェイスになります。
C++ なら IDispatch と _IiTunesEvents の派生型として実装してください。
漏れ的には他のことも考えるとATL覚えたほうがラクだと思うけれども、
dispid を元に機械的に場合わけするだけなのでフル手動での実装も簡単だと思う。
>>730 どうもありがとうございました・・・方向性が見えたので、助かりました。
とりあえず、実装してから結果報告したいと思います。
一応、方向性としては
class CiTEventSink : public IDispatch, public _IiTunesEvents{
////
//////ここを頑張って書いてみる。
////
};
と言うことでやってみます。
そのあとに、
DWORD d;
CiTEventSink es;
hRes = icp->Advise(&es,&d);
これで受け取れるようになると思って頑張ってきます。
ガンバレ
ステキアプリケーション!ステキ、スーテキ! ことり。
736 :
本田 :04/10/30 10:02:51
一度ATLでシンクインターフェースを組んでみたほうがわかりやすいかも
COMってオブジェクト指向なの?
>738 うん
ていうかCOMって何なの? 概念?ライブラリ?何ができるの???? 本気で解らないのだけど・・・。
共通の枠組みみたいなもんかな。 DirectXなんかのライブラリはこれを利用しこの上に乗っかっているような感じ。
>>740 バイナリ標準+ソフト的アーキテクチャ
何か1つのソフト実体があるというわけではない。
というかWindows全体に埋め込まれている。
743 :
デフォルトの名無しさん :04/11/13 13:58:30
>>741 どちらかというと、ライブラリがCOMでラップされている。
>>742 (バイナリ標準がなにを指しているかわからんが)バイナリ標準じゃあないだろ。
コンポーネントを実現させるための言語費依存のバイナリ標準を定めたアーキテクチャーを実装したもの。 もともとエクセルにワード文書を埋め込むためなどに開発されたものが拡大されてそのようになった。
>言語費依存のバイナリ標準を定めたアーキテクチャーを実装したもの ということはWindows等のOSに限らずに使えるアーキテクチャなの?
>746 コンポーネント間通信についてのバイナリ標準。動くコンポーネントのバイナリについては関知しない。 DCOMなんかではその考えに基づき移植してたようなしりつぼみになったような・・・
748 :
本田 :04/11/13 20:01:16
KPartsって楽しそうだな。
750 :
デフォルトの名無しさん :04/11/13 21:16:08
>>744 "エクセルにワード文書を埋め込むためなどに開発されたもの"は、DDEですよ。
>750 DDEが埋め込みのために作られたのかは知らないけれど、 プロセス間?通信技術のDDEをつかった埋め込みオブジェクトの発展系としてOLE1.0ができてそれがCOMをベースとしたOLE2.0になったんでない?
752 :
デフォルトの名無しさん :04/11/14 07:23:36
>752 いわれてるとおり必然的な関係はない。 けれど、もともとOLEを実現させるために設計されるうちにそれがオブジェクト間通信の基本的な技術を元になされるというところに突き当たり、COMという形で出来上がったのではなかったでしょうか? OLE2.0はCOMをもとにしてますが、その原型はOLEを実現させるときに浮かび上がったものだったと思います。
754 :
デフォルトの名無しさん :04/11/14 14:22:49
>>753 最初に実用化された用途がOLEだっただけで、COMの起源としては、748がいっているようにCORBAのMS版。
CORBAの細部の仕様がきまらないことにしびれを切らしたといわれている。
その名残として、IDLなどコアの部分は、CORBAと(ほとんど)同じになっている。
もともとCOMはデスクトップ技術からうまれたんじゃなかったか? そもそも94年ごろにはすでに実装されて他と思うけれど。
中卒の俺にはよく解らん。 俺にも解るように応用例と学ぶにはどうすればいいのかを教えてくれ。
>>755 CORBAの作業は1989年から始まっている。MSもメンバだが途中で実質的に抜けた。
>757 ん。それはわかる。んで当然オブジェクト間通信技術としてCORBAの要素を取り込むところも。 ソースないけど、OLE2.0を実現させるための基礎技術としてCOM をつくってそこにCORBAも参考にしたという形だと思ってたんだけど。
CORBAって流行った時期あるの?
COMって何か利点あるの? APIが標準かされてるという事以外に。
オブジェクト指向
762 :
デフォルトの名無しさん :04/11/14 21:59:43
>>760 あまり注目されることはないが、Windows の競争力はCOMにあるといっても過言ではない。
763 :
本田 :04/11/15 07:58:43
764 :
デフォルトの名無しさん :04/11/15 22:52:10
>>763 COMをちっとも知らない人にはこれではわからないし、ちっとぐらいはわかる人にはこれだけでわかる。
>>764 言ってる内容にはある程度同意するけど、
COM をちっとも知らない
>>760 に対するレスでそりゃあないだろ。
アプリケーション間でのコピー&ペーストやドラッグアンドドロップがまともに動作したり、 他のプログラムから、Wordを立ち上げたり、Excelの関数が使えたり、 VBAが、OpenOfficeとちがって、親切設計だったり、 タブ型ブラウザがプログラミング初心者にも簡単に作れたり、 DirectXみたいな、速度命のAPIもオブジェクトとして提供されていたり、 リモートのオブジェクトを、それと意識せずに使えたり、 簡単にLove Letterウイルスが作れたり、 他のプラットホームではそう簡単にいかないことが、 Windowsでは当たり前にできているのは、COMのおかげ。
>簡単にLove Letterウイルスが作れたり、 ワロタ
>VBAが、OpenOfficeとちがって、親切設計だったり、 VBAが消えるわけですが、何か?
まだ当分消えない羊羹
完全消滅には10年はかかると思われ。
VBAが消えるつっても、Officeのコンポーネントを簡易言語から簡単に呼び出して 使える仕組みという概念としては残るな。 上でCOMのメリットとして述べられていることはそういうことであって、VBAは ただの一実装形態に過ぎん。
一旦世に出たものはそう簡単には消えない どんなに消したいと思っていても
774 :
デフォルトの名無しさん :04/11/22 15:29:45
775 :
本田 :04/11/22 19:04:17
>>767 >他のプラットホームではそう簡単にいかないことが、
>Windowsでは当たり前にできているのは、COMのおかげ
>Bonobo -- GNOME コンポーネント・アーキテクチャをサポートするライブラリです。
>再利用可能なコンポーネントや複合文書を作成するためのこの強力な新モジュールは、
>GNOME の多くの利点の源泉です。詳細については、
>developer.gnome.org/arch/component/bonobo.html をご覧ください。
http://jp.sun.com/software/gnome/developer/
>>775 Bonobo も COM と同じくらい広まるといいね。
gnomeがunixの標準になればいいんだけどねー。まあ無理だな。
OpenOfficeでも、それから外にでるとまともに動作しないね。 しかも、Windows 95 のレベルにもなっていない。
KDEとかも含めて統一規格が出来ればいいんだけど、分裂を繰り返すのは UNIXの文化だからな。ソースレベルでの互換性が精一杯。
bonoboってORBitラッパじゃなかったけ? でも、gnomeはいまやmonoを使おうとしてるとか誰かが前のほうで書いてるね。 gnomeはCORBAをすてて.NETなの? それとも両方使うの? だれか頭のいい人、 解説きぼん。
ところでCOMの一派(と漏れには見える)のXPCOMはどう思う? FireFoxはかなり出来が良いから、 強力なコンポーネントの実装ありきで、それを利用するコードが増えた結果 ベースのORB技術が普及する、というMS風の展開もありそうな気がするんだけど・・・ 実際に使えてナンボって感じで。
ORB技術としては.NETもよいと思うが・・・
783 :
デフォルトの名無しさん :04/12/03 23:07:06
>>781 COMがこれほど普及している中で、XPCOMを使うメリットが見えてこない。
.NETは、その不便を上回るメリットがある。
現実は、Windowsで動作すればOKというアプリほとんどですからね。
みなさんに質問でつ COMって敷居が高いと思うのですがどうやって マスターしまつたか? MFCはなんとか使えるようになったのですが COMは必要に迫られる場面もなく、また本を 読んでもさぱっりわからんです。 だいたいCOMにしなくてもMFCでDLLにすれば クラスとかも再利用できるし :D-TZ
バイトレベルで見れば単なるポインタ構造で、あれこれ小細工して統一的なインターフェイスを 提供しているんだと分かったら後は簡単でした。.NETともスムーズに連結出来るし、やっぱ 何だかんだ言ってもMSの先見の明というのは凄いと思ったり。
786 :
本田 :04/12/04 17:15:54
>>785 >何だかんだ言ってもMSの先見の明というのは凄いと思ったり。
CORBAにVBで使うVARIANT TYPEを付け加えたものにしか見えないんだけど。
787 :
本田 :04/12/04 17:25:12
788 :
本田 :04/12/04 17:28:17
>>784 MFC42.DLL自体がCOMサーバーだったはず。
>>786 もう少し歴史を勉強した方が良い。
そのような発言をしたいのであれば。
>>789 いいかえせないので当り障りの無いことを言って
ごまかしていますねw
あなたに歴史の説明。できますか?
791 :
デフォルトの名無しさん :04/12/04 18:34:15
>>790 789ではないが、CORBAの実装よりCOMの実装のほうが先。
COMは、当時仕様が完全に決まっていなかったCORBAをベースにしている。
MSのすごいところは、これをベースにOS、Officeを作るという目標をたて、実現したところ。
792 :
デフォルトの名無しさん :04/12/04 18:35:22
アップしといて切断クソ光回線やろう死ね
ユーザ名 : Natu@[萌え萌え]
210.159.190.66
PPPbf316.fukuoka-ip.dti.ne.jp
Network Information: [ネットワーク情報]
a. [IPネットワークアドレス] 210.159.128.0-210.159.191.0
b. [ネットワーク名] DTI-NET
f. [組織名] ドリーム・トレイン・インターネット
g. [Organization] DREAM TRAIN INTERNET
m. [運用責任者] MH4804JP
n. [技術連絡担当者] MK10931JP
p. [ネームサーバ] ns.dti.ad.jp
p. [ネームサーバ] ns2.dti.ad.jp
y. [通知アドレス]
[email protected] [割当年月日] 1997/01/06
[最終更新] 2004/08/12 10:44:23 (JST)
[email protected]
793 :
本田 :04/12/04 18:43:22
>>791 COM化されたOSは、Windows2000だと思うけど。
1999年の実装だと思うけど、
これが早いの?
Win2k以前でもいろいろとCOMのお世話になるだろ。
795 :
本田 :04/12/04 18:55:57
歴史の事はあまり知らないんだけど、こんな感じじゃないのかな? #何かあるたびに名前をコロコロ変えるのはMSの悪い癖のように思う #マーケティング戦略なんだろうけどね '87 Win2.0にアプリケーション間通信法としてDDEを提供 '91 Win3.1にOLE1を搭載。 '92 改訂を加えてOLE2を出す '94 OLE2(呼称はOLE統一された)を推し進め、コンポーネント再利用を前面に出してOCXという枠組みを制定 '96 OLE中でIE関連の技術をActiveXと命名、以降ActiveXにCOMを吸収していく形となる '97 OLEの名称をCOMに変更 '98 ネットを介する分散処理の中心にWindowsを据えるWindowsDNA構想を打ち立てる '99 Windows2000発売。WindowsDNA構成要素のひとつであるDCOM(COM+と称す)を実装 '01 .NET Framework1.0誕生。aximpによりActiveX、COM共にインポート環境が整備される この流れの限りではインターフェイス指向(?)というMSの戦略は一貫してる。 別に"COMにはやられた"と思うような酷い方向転換は無いと思うよ。
>>785 が「凄い」といっているのは技術そのものについて、つまり仕様についてでしょ。
実装された時期がどうのなんてことは些細なことでわ?
798 :
本田 :04/12/04 19:18:22
>>794 Office97なら、1997年か1996年だよね。
>>796 微妙に違うところが歩きガス
>改訂を加えてOLE2を出す
べーすとしてCOMがあるが、前面には出していない。マーケティング的にもOLE2.0とCOMを同じ意味で使っている文献も多数。
>以降ActiveXにCOMを吸収していく形となる
吸収して言ってはいない
>'99 Windows2000発売。WindowsDNA構成要素のひとつであるDCOM(COM+と称す)を実装
DCOMはそれ以前より実装されている。COM+とは別物。COM+はMTSの機能などを取り込んだもの。
もともと.NETはCOM2.0としてうわさされてたもの
しかしながらCOMのかんがえかたはべつとして、ATLやまー者リングに関するめんどくさい技術などは廃れていくのは必須。
IT技術はそんなものかもしれないが。
>>953 ちょっとうらやましいぞ。
欝になってから性欲減退した。
OLE2の時点でCOMを基盤としていたわけだから 結構古いよね。
俺はOfficeのインターフェイスをすべて暗記した
暗記しようとした、の間違い
804 :
本田 :04/12/04 20:07:16
「INSIDE OLE 改定新版」の序章を読むと、 OLE2の設計仕様は1992年にできて、 OLE2のSDKは、1993年に出来たように、 読める。
CORBAの実装は1980年代。 COMよりもずっと前。
嘘つくなバーか。証拠出せ証拠。
CORBAは使い物にならなかったらしい分散OSの研究の 後処理みたいなものなんじゃないの?
CORBAも対応とかじゃなくて CORBAをメインとして使っている ソフトで実用されている有名なのって何?
このスレの実装は 03/02/05
.NETってCOM3じゃなかったか?
smalltalk や Objective-C のメッセージディスパッチャの実装を見れば CORBA も COM もそんなに目新しいもんじゃない
812 :
本田 :04/12/04 21:58:02
MSがパクりだとか何だとかはどうでもいいんだよ。伸びると思われるモノ・技術を選択して 成功させてるとこがポイント。InрゥらAMDに乗り換えたのだって今のところ吉と出てるしね。
814 :
本田 :04/12/04 22:15:01
MSはIA64とx86−64の両天秤だよ。 CPUの販売個数は、x86−64が圧倒しているけど。
>>813 たしかにパクリだけどがんばってるのは認める。
っていうかシタタカで、うさぎと亀で言うと亀タイプ。
うさぎは誰?
世界中のヒトバシラー
MSはウサギタイプだと思うが…
明らかな亀でしょ。 これほど地道なところは少ないですよ。
つかハイエナじゃないの 他の人ががんばって作ったソフトを数に物言わせて横取りしたり。
RAV AntivirusにしてもConnectixにしても結局買収だから、怨恨を残してるのか 円満に行ってるのかよくわからんな。凶悪な所業と言えば初代Windowsの開発時に 他所のウィンドウシステムを逆アセして取り込んだ(という話)ぐらいのものか。
>>820 力に物言わせて横取りするのはライオンだよ。
ハイエナは集団で狩りをする質実剛健なタイプ。
>>820 ジュラシックパークにそんな記述あったな
>>820 Microsoftに買収されれば、普通喜ぶよ。
Connectixの場合は、Macチームが釈然としない思いをしたという話をどこかで読んだことがある。
このスレにはぜひPart2まで行っていただきたい。
最近伸びてるな
>>810 SDKのPE形式EXEのソース見るとCOM+ 2.0 って記述が出てくるよ。
>>821 あの時代はリバースエンジニアリングも一つの技術だから。
いまとは若干時代が違うのだよ。っていうか今だってやってるでしょ。
最近やっと.NETはじめたけどActiveX.DLL, EXE, OCXといったプログラム部品 としてのCOMはもうお払い箱って感じですね。.NETでクローズしていれば、 .NETのクラスモジュールがそのままコンポーネントだからCOMは必要ない。 逆にMTS(COM+)まわりはいい具合にCOMが隠蔽されて使いやすくなってる。 COMはなくなるわけではないけど位置づけが変わったって感じがしました。 MTSで使いたいコンポーネントってビジネスロジックであったりDBのアクセス コードであったりするわけで、IUnknownとかCOM固有の約束事などまったく 興味がないわけです。COMが用途別にうまくラップされるならそれで良いよ うな気がします。
正直、.NETのコンポーネントとしての仕組みとマネージは切り離してほしかった。 マーケティング的には難しいと思うが。
正直、COMで考え込む。
COMやその元アイデアのCORBAは、CやC++で使うことを メインに考えられているようなものだからね。 Cだとオブジェクト指向ではないから、インスタンス作成できない。 また直接メモリにアクセスしたりするからマネージコードもGCもつけられない というかそんなのを考えて設計していない。 オブジェクト指向のC++であっても、オブジェクト指向のDLLには共通形式が存在しない。 (クラスをエクスポートする標準的な方法が無い) かといって言語拡張するわけにも行かず、旧技術でいろいろやる必要がある。 だからいろいろと取り決めが必要となってしまい、 IUnknownなどというものが特にC/C++において表面化してしまった。 好きに言語拡張が出来る非.NEのVBやDelphiなんかはCOMがはうまくラップされていたね。 .NETではGCを採用したオブジェクト指向言語から使うのをメインにして、 DLLもオブジェクト指向になっているから、うまくCOM相当の技術をラップすることが出来た。
>>830 マーケティングというより、技術的問題だと思うが。
というか、現在でもそれなりに切り離されていると思うし
何が不便なのかしらないけど、これ以上切り離したら
マネージコードとしての機能が働かなくなると思う。
835 :
デフォルトの名無しさん :04/12/07 23:56:08
そこで Ruby/COM ですよ
836 :
デフォルトの名無しさん :04/12/08 00:15:51
なあ、.NETと業務系でどのくらい普及してんの?
837 :
デフォルトの名無しさん :04/12/08 00:16:19
×.NETと ○.NETって
最近増えてるのは確かだけど、Frameworksのインストールが面倒であまり歓迎されない。
導入込みで受けるのが普通じゃない?
>>836 一般的なことはわからないから俺の周辺の様子の報告。
Windows十数台規模のクラサバ開発が主なのだが、新規案件がようやく
VB6からVB.NETやC#に移ってきた程度だな。
VB6からVB.NETの移植性が余りに糞なんでVB6は当分なくならんと思う。
俺の周辺だけかもしれんが余りOOP的な使われ方はしてないよ。フォーム
クラスのイベントプロシージャに延々コードが書かれてる。VB6の.BASの
代わりにShared(static)メソッドだけのクラスの作り方はすぐマスター
したようだ。
ActiveXの登録が不要になったので配布が楽になったのが唯一のメリットだ。
>代わりにShared(static)メソッドだけのクラスの作り方はすぐマスター 泣けてくるような話ですなあ。
携帯Javaのような話だ。
いつの時代でもよくある話だ
こうやって何時の日か .NET も化石化していくんだな
技術の世代交代速度はもう少し上がってくれたほうがいいんだけどな。 変化について来れないクズプログラマが振り落とされるから。
ほんとはもっと速く出来るんだろうけど、メーカーとしては 利益回収してからでないと次の技術に移行したがらない罠
この世界はクズプログラマでも、何とかなる方向に進化してきたんだがね。
850 :
デフォルトの名無しさん :04/12/11 08:53:08
MFCとかATLとか使わずにSDKのみでCOMを書くツワモノはいますか?
クライアントもサーバーも自分で作るなら何とかなるかもしれないけど VBやらその他のコンテナから呼び出せる品質のものを作るのはつらいな。 いろいろと約束事が多すぎてわからん部分が多すぎる。
それで作ってるうちに他のニーズがわかってくる
853 :
本田 :04/12/11 12:57:34
いまどきそんなことしても、何のメリットもないな。
>>853 趣旨が違ってる。
自分用にブラウザをカスタマイズしたいから com勉強してIEコンポーネント活用するか FireFoxをカスタマイズするためにXULとかいうの勉強しようか迷う。
XPCOMでいいじゃない
どうしてMSって分かり難くするのかな。 解説本を売るため?
グーグルが 除外するよな 名前やめ!
実は +comとすれば検索できる
雑音ばっかりになるけどな
漏れはEssential COMを読んだときの感動が 今でも忘れられないにょ っていうかなんでDon BoxはEssential .NETの続編 を出さないにょ
863 :
デフォルトの名無しさん :04/12/18 23:57:13
>>862 CLR自体は Essential .NET の時点からそう大きくは変わっていないように思う。
Volume I といっている以上続編を出すつもりのようですが。
864 :
デフォルトの名無しさん :04/12/19 01:04:37
WindowsでLinuxの/proc/${PID}/maps にかかれているような情報って得られますか? mmapの一覧みたいなやつです。
mmapとcomの関係を100文字以内で述べよ
COMって検索エンジンで調べずらいんだよね。。。 なにか良いサイトありますか?本屋も行ってきますが、、、
867 :
デフォルトの名無しさん :04/12/19 08:57:22
Essential COMは回りくどい文体でよんでてよく分らん。 もっとあっさりかけるだろうに。
868 :
デフォルトの名無しさん :04/12/19 11:15:14
COMを今から勉強するのにいい本教えてください。 いきなり分厚い本だと挫折すると思うので 入門書みたいなのがあるとうれしいのですが。
インサイドCOM+
>>867 というか外人さんの本ってどれもそんな漢字。
それは訳が下手なだけ ちゃんと内容を理解していて、文才がある人が訳せばマシになるんだろうけど
COM今からそんなに深くはやる必要ないと思うけど・・・ COMの本質みたいなものは.NETでより洗練されて実装されているし. プログラミング.NET とかEssential。Netをおすすめする。
レスありがとうございます。
>>869 インサイドCOM+はCOM関係の本の中でも最も厚い部類のようですが...
これが今なら一番いいのでしょうか?
>>872 エクスプローラの拡張モジュールを作るにはCOMが必要と聞いたので
勉強しようと思いました(もしかして間違い?)。
COMの本は古めのが多く、もう.NETの時代かなと思いましたが
システムに近い部分だとまだCOMがメインでしょうか。
それなら、そんなにふかくまでやるひつようないでしょう。 COM必要なのは間違いでないです。 それならばなんでも入門書の類のレベルまたはWEBのれべるでまにあうでしょう
.NETでもシェルエクステンションは作れるみたいよ。
>>875 まじで?じぶんもそれしりたいかも・・・
>>868 Essential COM(の1章だけw)
Iniside COM
あとVCとかのウィザードつかわずにスクラッチで
何か作ってみる(簡単なコレクションオブジェクトとか)
CodeProjectにサンプルとかチュートリアルがいっぱい
あるので英語だけどガンバって読んでみる
879 :
デフォルトの名無しさん :04/12/19 21:00:53
Win32APIだけでごりごり作ってるやつって COMの作法を理解できなかった池沼だろ
881 :
デフォルトの名無しさん :04/12/19 22:02:14
exe一個か機能を適当にDLLまとめてそれでお終いなのがWin32APIマン
883 :
デフォルトの名無しさん :04/12/19 22:12:45
Win32APIマンはようはソフトウェアの再利用性は考えないし、 仕事も雑そのもの。しかもDLLのインターフェイスの汚いこと。 きゃつらの頭じゃCOMコンポーネントにはまとめられないらしいな。
884 :
デフォルトの名無しさん :04/12/19 22:13:42
15年前のWindowsの知識だけで仕事をする椰子、それがWin32APIマン
メッセージループ大好き人間
使いこなせないのはUNIXから流れてきた奴に多い。 UNIXはCOM以前の問題だから。
あのお、釣り堀の場所を間違えてませんか?
いや、Win32APIマンの実態がまるでUNIX使いみたいだったので。
>>874 ,878 さんありがとうございます。
Webので勉強しているとなぜかすぐ集中力がきれてしまうため
まず紙の本を読みたいと思ってました。
Inside COMはよさそうな本ですがAmazonでは売り切れみたいです。
Essential COMは入門者が最初に読んだら挫折しそうな雰囲気ですが
ちょっと本屋で立ち読みしてみます。
入門書の中でAmazonで評価がましなほうだったのは
Visual C++プログラマのためのCOM入門、でしたので、これも見てこようと
思います。
関係ないが >Webので勉強しているとなぜかすぐ集中力がきれてしまうため 之大脳生理学的に正しいらしい・・・ 本読む場合に比してメール、インターネットの閲覧では前頭葉の活性度が低い。 内容の違いモあるだろうが、メール使用時の頭の使い方が引き継がれるようなのもあるんですかね・・・
Visual C++プログラマのためのCOM入門 ↑やめとけ
VS6時代にC#があれば・・・と思ってしまうことがあるな・・・
Visual C++プログラマのためのCOM入門、だめですか。 これを読んだあとATL COMプログラミングを読むのがいいかと思ったのですが。 入門書としてはVisual C++6.0 ATLによるCOMプログラミング入門も 探しましたが本屋にありませんでした。あとInside COMも。 Essential COMは良いCOMコンポーネントを作るためには読んだほうがよさそうな 内容でしたけれど、私にはまだまだ理解できそうにありませんでした。
>>895 > 本屋にありませんでした
アマゾンからでも注文するといいよ。
897 :
デフォルトの名無しさん :04/12/28 14:34:01
「・・やられた」の趣旨には合わないと思いますがCOMに詳しい方が多そうなので質問です。 COM+を使ってアプリ間でオブジェクトを共有することってできますか? EJBのBMPお豆さんのようなことをしたいのです。 いまのところCOMクラスの中にDBのレコードを表すstaticなオブジェクトを 包含させて、各インスタンス間で共有させるというのを考えています。 staticなオブジェクトの代わりにstaticな整数カウンターで試してみると 一応共有できているのですが、COM+アプリケーションがひとつのプロセス 空間で稼動することを想定してかまわないのか疑問です。
898 :
wonapi :04/12/28 15:22:52
>>879 ,
>>884 このやろーーーーーーーー、マイクロソフトの人間じゃないのに、ソースを分析したなーーー!
ここの会社やるぞ。。。
>ソフトウェアの再利用性は考えないし、仕事も雑そのもの。
はぁ? VBへの再利用など考える余裕もない。このばかちんが。
>しかもDLLのインターフェイスの汚いこと。
まともな DllMain は後で書くつもりだ。来年までしっかり待て。
>COMコンポーネントにはまとめられないらしいな。
接続困難な俺でも「COMコンポーネント」のソースくらい持ってるぞ。
そうだね
>>897 SharedPropertyManager(だっけ?SPMってやつ)じゃダメなの?
>>900 SPMに収めるにはちと大き過ぎる情報なのです。
サーバーでアクティブ化、アプリケーションプール1、JITアクティベーション、
オブジェクトプーリング最小1最大1の設定でSingletonタイプのサービスが
提供できそうなのでこの線で進めています。
それはトランザクションなしの参照用生データみたいなものなの? BMPみたいなことをしたいということだが、そういうのはヘタにアクティブに保持するより DBを都度参照したほうが「結果的に」いいのではないか・・・ と昔MLで同じような質問を俺がした時に帰ってきた。 結局COM+ってStatelessに対して最適化されたデザインだし。 あとトランザクション属性(だっけ?)は「なし」(だっけ?EJBの「None」に相当するもの)にするのを忘れずに。 でないとSetCompleteするたびにインスタンスが破棄されちゃうから。
903 :
デフォルトの名無しさん :05/01/09 15:32:03
D言語でもCOMはサポート
905 :
デフォルトの名無しさん :05/01/09 21:22:11
COM? なにをいまさら、、、、。 MSも言ってるでしょ、「あれは、よくない技術だった」と。
906 :
デフォルトの名無しさん :05/01/09 23:05:51
そんなふざけたこと抜かしてるのか? の割にはDirectXとかしつこく押し付けるよな。
907 :
デフォルトの名無しさん :05/01/09 23:07:27
そんなふざけたこと抜かしてるのか? の割にはDirectXとかしつこく押し付けるよな。
DIRECTXとCOMは別物ですが何か?
DIRECTXとCOMは別物ですが何か?
「COMはMSの魂です」と語っていたのももう7年前のことか
塊だたーYO...orz
WSHとかすごく便利。 Python/Perlでお気楽プログラミングしてます。 VC++利用の方はご愁傷様です。
WSHが便利なのは認めますが、便利すぎでCOM呼び出せまくり、 危なくてしょうがないので動かないようにしてます。 メールでWSHのスクリプト送るのはやったよね。
うちに万万来てますな。そのメール。 Beckyなのでびくともしませんが。
915 :
デフォルトの名無しさん :05/01/15 19:20:19
COMの思い出 VBさえなければVBさえなければVBさえなければVBさえなければ VBさえなければVBさえなければC++つかえや!!VBさえなければ と泣きながらCOMコンポーネントを作りました。まる。
VCのCOM周りって #importとか嫌な感じで拡張されてるのが嫌だった VCからしか使えねーじゃんょ
いや、mingwとかbccとかで同じように書けないという意味では
じゃあ、#import使わなけりゃいいのにね
#importからの使い方しか知らないんだろwwww
InsideCOM+読もうな!
スレ違いかもしれないのですがどこに書いていいのか分からないのでここで質問させていただきます。 WindowsMediaPlayerの現在再生しているファイル情報を外部のソフトウェアから取得したいのですがうまくいきません。 どうやらCOMを使うらしいのですが OleVariant wmp,currentmedia; wmp = CreateOleObject("MediaPlayer.MediaPlayer.1"); currentmedia = wmp.OlePropertyGet("currentMedia"); (C++Builderソース) とするとcurrentMediaの行で「名前が不明です」というエラーが出ます。 MSDNやOLE VIEWで見てもどこが悪いのかよくわかりません。 何かヒント頂けないでしょうか?Orz
ageてみる
次スレのタイトルは「COM+ 3.0」でよろしこ
CORBAの文字も入れておこう
>>922 それは現在起動中のWMPのインスタンスを取得していない。
別のインスタンスを作ってるんだから取れなくて当たり前。
別の方法を探せ
>>926 ありゃ、MediaPlayer.MediaPlayer.1では起動しているWMPのインスタンスは取得できないんですか・・・
iTunesの場合、iTunes.Applicationでは望みどおりのようにいくのでWMPでもできるものと思っていました。
OleVariant itunes,currenttrack;
itunes = CreateOleObject("iTunes.Application");
currenttrack = itunes.OlePropertyGet("CurrentTrack");
(C++Builderソース・このあとファイル情報の取得までできました)
OLE VIEWとMSDNでWMPのCOMについて調べたつもりでしたが、他の方法が無いかがんばってみます(´・ω・`)
UNIXというかGNUのプログラムが巨大な実行ファイルを作るのは、 ライブラリ形式にすると、機能をただで使われてしまうからですか? ソースで共有することをモットーにしているのかな。酷く不便な気がします。
意味不明
>>929-930 WindowsはMS様の提供してくれた各種COMオブジェクトを満載しているので、
アプリケーションのバイナリが小さくなる(こともある)、というような流れを期待
していたと思われ。
hosu
933 :
デフォルトの名無しさん :05/03/16 23:01:36
IDragSourceHelperにやられました。 IDragSourceHelperに渡すIDataObjectは、EnumFormatEtcからは見えない シェル固有のプライベートフォーマットをサポートしなければならない (GetData/SetData)。 これって、IDataObjectの仕様に違反してますよね。 丸一日、つぶれた。
936 :
デフォルトの名無しさん :05/03/17 23:46:50
Office2003のCOMアドインDLLを作ってるんだけれど、DLLがインストール されているフォルダの場所を、DLL自身が知る方法ってありますか?
>>935 何でタイトルに「<br>」なんて付いてんだろう?
>>935 WinXPだとこんな.NET風味のことできるんだねぇ。
参考になりましたありがとう。
>>936 GetModulePathだったかなんとか
942 :
デフォルトの名無しさん :05/03/18 00:38:15
>941 >GetModulePathだったかなんとか ありがとさんです。 出来ればVB.NETで使える方法を教えてちょうだい。
よく考えたらXPでなくてもDllGetClassObjectを直接呼べば、 同じことが出来るんだけどね・・・
>>943 DllGetClassObjectでは、ThreadingModelを意識した処理ができないのではないでしょうか。
「キムにはやられた」(木村祐一) 「コムにはやられた」(山崎邦正)
946 :
デフォルトの名無しさん :2005/03/25(金) 09:17:37
ばーかあああああああああああああああああああああああああああああああああああああああああああああああああ
次スレのタイトルはどうする? COMスレは三つ目なんだけど。
「3COM」でよろ
949 :
デフォルトの名無しさん :2005/03/26(土) 12:00:09
COMについての質問はこのスレでいいのでしょうか。 勉強中なのですが、インターフェースについての理解で分からない部分が あるので教えてください。 たとえばエディットボックスにオートコンプリート機能を追加するとして、IEnumStringを 継承したクラスとIAutoCompleteを用いて CEnumString *pEnumStr = NULL; IAutoComplete *pAutoComp; CoCreateInstance(CLSID_AutoComplete, NULL, CLSCTX_INPROC_SERVER, IID_IAutoComplete, (void**)&pAutoComp); pAutoComp->Init(GetDlgItem(hWnd, IDC_EDIT1), pEnumStr, NULL, NULL); のようにした場合、エディットボックスに対してpEnumStrとのインターフェースを 指定し終わったpAutoCompはすぐに解放してしまってもよいのでしょうか?
950 :
949 :2005/03/26(土) 12:16:22
最終的にやりたいことは、動的に生成されるエディットコントロールに対して オートコンプリートを実装したいのですが、IAutoCompleteやCEnumStringを どのように管理すればよいのかで悩んでいます。
boost::xpcom これで世界は変わる だれか作って
次スレは 「サングラスをかけてて、中肉中背の30代の男にやられた」 でお願いします。
954 :
デフォルトの名無しさん :2005/04/03(日) 21:53:59
COMインターフェイスは仮想継承にしてもいい? IUnknownを継承してAddRef/Releaseだけを実装したクラス、ReferenceCountを作った。 そして自作のインターフェイスIFooを継承して実装するクラスHogeがある。 これは当然ReferenceCountも継承したい。当然仮想継承にしないとまずい。 ReferenceCountは外には見せないので仮想継承にでも何でも出来るが、IFooの方は仮想継承にしたらまずいような気がするんだ。 心配だから結局ReferenceCountはIUnknownを継承せず、HogeがReferenceCountをメンバとして持つように修正した。 そしてマクロでHogeのAddRef/ReleaseがReferenceCountのAddRef/Releaseを呼ぶようにしている。 だけどやっぱり不恰好な感が否めない。
クラス構成が間違ってるだろそれ
HogeとIFooの間にReferenceCountを挟め。
957 :
954 :2005/04/04(月) 10:47:29
>>956 さらにIFooとは継承関係のないIBarとそれを実装するHageも存在しHageにもReferenceCountが欲しいんですよ。
じゃあ、HageとIBarの間にもRefernceCountを挟めばいいだろう。 テンプレートを舐めるな。
テンプレート いつもSTLとBoostは欠かさずに使っているのに忘れていた……。 ○| ̄|_ template<typename T> class ReferenceCount : public T { /* * */ }; class Hoge : public ReferenceCount<IFoo> { /* * */ }; こうですよね。
961 :
デフォルトの名無しさん :2005/04/07(木) 00:39:37
やられた... VariantInit()やっていないVARIANTオブジェクトにVariantClear()やっていた。 どおりでわけわかんない挙動になるわけだ……。
962 :
デフォルトの名無しさん :2005/04/10(日) 14:36:27
今ファイラー作ってるんですが右クリックを押したままドロップすると 表示されるコンテキストメニューはどうやったら表示できるんですか
>>962 win32apiスレできいたほうがいいかも
最近PCがメモリのエラーを起こすCOM何なんだ ゴルァ
966 :
デフォルトの名無しさん :2005/04/25(月) 19:18:22
ここで聞くのが適当かわかりませんが、コンテキストメニューに登録して 実行するツールを右クリックから実行すると、その処理が終わるまで 呼び出し元(右クリックしたフォルダ)が復帰しない(固まった状態になる) のですが、これを解消させる(非同期で処理させる)にはどうすれば いいのか教えてください。
967 :
デフォルトの名無しさん :2005/04/26(火) 06:39:39
command.com?
インターフェースについて、そもそもそれが何なのかというレベルから解説している 良質のサイトってどんな所がありますか
972 :
デフォルトの名無しさん :2005/06/09(木) 22:30:28
次スレがなさそうなのでage
DCOMがむかつくので、無効化しています。DCOMで開発している方々、いい加減にしてください。
974 :
デフォルトの名無しさん :2005/06/11(土) 00:39:36
VC++からタイプライブラリでexcelを操作したい場合の 質問スレはどこいけばよい?
976 :
974 :2005/06/11(土) 14:45:28
>975 ありがとう VC++ タイプライブラリ excel操作の結合されたセルの値の取得についてなんだけど 例えば A1 に "test"という文字を入力してA2とA3と結合してあるExcelがある。 これに対してA1(1,1)を取得するようにすれば"test"という文字の取得できるんだけど、A2(1,2)とかA3(1,3)だと値は空白になっていて "test"という文字が取得できない。これってなんか取得する方法、又は取得しようとしているセルが どこかのセルと結合されているというプロパティみたいのないでしょうか? 下はサンプルコードです。どなたか知ってる方お願いします。 別の方法でもいいです。 _ApplicationobjExcel; _WorksheetoneSheet; RangepXlsRange; LPDISPATCHpCells; COleVariant x,y,ItemId; CString CellName; /* 〜中略〜 */ pCells = oneSheet.GetCells(); pXlsRange.AttachDispatch(pCells,TRUE); y = (short)1; x = (short)1; /* セル値取得 */ ItemId = pXlsRange.GetItem(y,x); objExcel.AttachDispatch(ItemId.pdispVal,TRUE); CellName = objExcel.GetValue();
977 :
デフォルトの名無しさん :2005/06/12(日) 00:48:02
>>976 Range::GetMergeArea()
978 :
974 :2005/06/12(日) 14:47:44
>977 ありがとうございます。 Range::GetMergeArea()ってLPDISPATCHで戻ってきて・・・ それから・・・・ ・・ごめんなさい。続きを教えてください。
979 :
デフォルトの名無しさん :2005/06/12(日) 17:19:12
>>978 結合されたセルのRangeオブジェクトが帰ってくるから。
あとはRange::GetCount()なり、Range::GetItem()でやりたいことはできると思うけど。
980 :
974 :2005/06/13(月) 23:22:44
ありがとうございました! なんとかできました!!
981 :
デフォルトの名無しさん :2005/06/16(木) 01:57:28
構造体みたいなCOMオブジェクトをつくりました。 これをリモート呼び出しで受け渡ししたいのですが 参照ではなくコピーを渡したい。 どうすればよろしいか?
値渡しマーシャリングというものを見つけた。 面倒だなあ。
自分でマーシャンリングしないとなると、 ・構造体をADOのRecordsetで代用する(確かMBVに対応してるはず) ・XMLで代用する とか。
渡すときにコピー作ればいいだけじゃなくて?
985 :
デフォルトの名無しさん :2005/06/17(金) 00:58:39
線路は続くよどこまでも
987 :
デフォルトの名無しさん :2005/06/17(金) 09:59:29
いまさらCOMしてどうなる?
COMatta
WindowsはCOMで出来ている MozillaもXPCOMで出来ている 世界はCOMで出来ている
991 :
981 :
2005/06/17(金) 15:47:08 >>989 おっしゃる通りです。
しかしマーシャリングうまくいかん。リモート側でNULLになっとる。
MarshalはコールされるがUnmarshalがコールされない。
>>983 もっともな意見ですが
構造体COMにIPersistStream実装して
byte* buf;
構造体COM->save(buf)
サーバ->setX(buf, buflength)
バイトの塊でわたすという無茶苦茶なインターフェイスでいくことにしました。