COMにはやられた...

このエントリーをはてなブックマークに追加
1OSN
なにが.NETだ!
いままで何冊本を買ったと思ってんだ!!
>>1
なんの本買ったの?
3デフォルトの名無しさん:03/02/06 00:00
>>1
Sunを訴えなさい
>>1
おいおい。だから何冊買ったんだよ。どんなの買ったんだよ。教えてくれよ。
5OSN:03/02/06 00:11
Inside OLEとかそんなんだYO!
6デフォルトの名無しさん:03/02/06 00:12
M$にうんざりしてる>>1がいるんだね。

そのうち、M$が今度は.NETを捨てて新しい●●を作って、
「.NETにはやられた...」というスレが立って

「なにが●●だ!
いままで何冊本を買ったと思ってんだ!! 」
となるだろうな。
7デフォルトの名無しさん :03/02/06 00:15
>>1
オマエは、一生やられる運命にある。
>>5
なんだ。一冊かよ。
>>6
ここにもいんのかよっ。
>【1:8】COMにはやられた...
>1 名前:OSN 03/02/05 23:58
>なにが.NETだ!
>いままで何冊本を買ったと思ってんだ!!

あのー。COMを殆ど理解していないことが分かりまっせ。
このスレタイトルと、>>1の内容を見る限りでは。
>10
なんだよお前。何様なんだよ。勿体つけないで言えよ。
教えてくれよ。COM+はどこに行くんだよ。
12OSN:03/02/06 00:21
>>10
すか。
COMを完全に理解してから.NETに入ったほうがいいすかねぇ。。。
1310:03/02/06 00:26
>>11
俺は王様なんだが......
>>10
> あのー。COMを殆ど理解していないことが分かりまっせ。
> このスレタイトルと、>>1の内容を見る限りでは。
理解する価値はどれくらいある?
COMはふつうにWindows.netでも使われてますが
>10
まじっすか。失礼したっす。それならもっと勿体つけてくださいっす。
俺も知りたいっす。理解する価値ありますか?
1710:03/02/06 00:44
スタンドアロンでCOMが使われなくなることは無いから
ある程度理解しておいたほうがいいと思うけど。
1回理解しておけばいいと思うよ。
.NETは主にネットワーク環境でということだろう。

あ、C++の理解は必須。あたりまえか.....
18OSN:03/02/06 00:49
>>10
1です。
ありがとうございますm(__)m
なんか救われました。。。
19デフォルトの名無しさん:03/02/06 00:52
.NETがあればCOMはいらん
COMは今は使えるようにしてるがいずれ捨てる
とMSが逝ってます

COMが死滅する頃には
.NETは今は使えるようにしてるがいずれ捨てる
となるでしょう

あなたが青春の全てを費やした.NETは
あなたの人生と共に死滅するのです
20 :03/02/06 01:00
>>1
将来無くなろうが、興味を持った時にハゲシク勉強しておくのは
決して無駄にはならん。勉強のスタイルやプログラミング自体の
勉強になるから。
「方法」を知るのは良いことだ。
うちにあるCOMの本
Inside COM
Effective COM
Essential COM
COM/DCOM 実践プログラミング
インサイド COM+ 基本編
ATL COM プログラミング
ATL インターナル
この3年くらいで勉強したんだが…
22OSN:03/02/06 01:06
スゲーーッ!!
23デフォルトの名無しさん:03/02/06 01:09
アボーン(´・ェ・`)を勉強するのは無駄
年をとって若い頃の知識が死滅した.NETで
リストラされてタクシー運転手やりながら客に
今は何の役にも立たないけど
勉強のスタイルやプログラミング自体の勉強にはなった
すごくためになったよ
とか言っても虚しいだけ
24童貞:03/02/06 01:16
COMのバージョン管理は正直M$もイヤになったんだろな・・
25OSN:03/02/06 01:20
COMが出たときは「全世界の砂粒に至るまで目に見える
モノすべてに割り振っても余るGUID」というのに素直に
感激したが...
26デフォルトの名無しさん :03/02/06 01:22
>>23
そりゃ負け犬の言い分だよ。

>リストラされてタクシー運転手
人は成長する。いつまでもプログラミングだけしか
勉強しないわけではない。勉強の習慣がつくと、いろいろと
他に勉強したくなるものだ。消極的でやり過ごす性格の人は
リストラされるんじゃないだろうか?

いろんな生き方があるから、別に貴方を否定はしないけど。

>アボーン(´・ェ・`)を勉強するのは無駄
無駄な勉強は無いですよ。知識は派生するから。
27OSN:03/02/06 01:29
>>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だので人生無意味に消費した香具師は
所詮先見の明が無いその程度の人間だったって事だ 自業自得
>>35
回答が出ました
VB厨って、あれだけM$にいいようにされても、まだ懲りずにC#とかいってるのいるよね。
ほんとVB厨って先を見る目どころか、学習能力すらないよね。
意味のある勉強だったと自己満足しながら、職安でも通ってください。
38デフォルトの名無しさん:03/02/06 02:03
勉強になるなこのスレ
コピペばっか
40デフォルトの名無しさん:03/02/06 02:04
>>38
この程度、誰でも分かってるって。
騙されるのがいやな香具師はこれを勉強しなさい











                          COBOL
42デフォルトの名無しさん:03/02/06 02:08
>>41
死滅確率は.NET以上じゃないか?
43デフォルトの名無しさん:03/02/06 02:10
>>42
つーか死亡してるだろ
>>1-44
今更こんな既出ネタの巣窟スレ伸ばしてまで粋がるなよ。
レスつけるから>>1みたいな糞スレ立てる奴が後を絶たないんだ。
45デフォルトの名無しさん:03/02/06 02:12
死亡してても勉強するのに充分意味があり
今後の人生の糧になる
COBOLも.NETも
>>44
また、管理人気取りの偽善者が、偉そうなこと言いだした・・・
47デフォルトの名無しさん:03/02/06 02:14
>>44はMS厨の単なる負け惜しみだろう
というわけで削除依頼だしとけよ>>1
このすれさ、荒れて見えるけど真実があるね。
おれさ、C#やるかなってまよってたけど。まよいとれたよ!
一企業の都合で人生台無しにされたくない。
なんかアンチの宣伝ばかりだね。
だから.NETスレでいいだけやったって。新スレ立てる意味ねーよハゲ。
52デフォルトの名無しさん:03/02/06 02:22

糞スレの中にも1寸の真実
これだから2ちゃんねらーは止められない
53デフォルトの名無しさん:03/02/06 02:23
なんか人生勉強になった。
>>52

出尽くしたネタに真実も糞もねえだろ
最近、クソスレ立てる奴が急に増えた気がする
つーか>>1の自作自演臭が
バカは死んでね
        _______               
      /《《《《《《《《《《《《《《 \            
     /              \       
    ,/          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#死滅スレとかで、毎回繰り返してるよ。
>>69
禿げ同
>>65
>>67
こいつ外基地ですか?
自分で何度も書き込んでますが。ギャハハハ(≧▽≦)
>>69
性買
なかなかCOM厨つれないね。ずいぶんエサと自演やってるんだけどね。
>>1よ、おまえを叩いてるのはMS厨ではなく、2chを愛する者たちだ。
2chを愛する者たちは決しておまえのようなクソスレ乱立厨を許さない。
>>74
うるさいよ。MS厨
ウジ虫で荒らしのMSマンセは
この板から消えて欲しい
>>73
つまんね。
>>76
すばらしい意見だ。
>>73=>>77
自作自演ハケーン
2chを愛する者たちは、荒らしのMS厨を許さないと思うけど。
ま、sage進行になっただけでもマシだな。さっきまでage自作自演が激しくウザかった。
>>80
まったくもってその通りだ。
MSの罪はこういう>>1みたいなあふぉに
プログラミングの楽しさを教えてしまったことだな。
>>83
いい事言った!
86デフォルトの名無しさん:03/02/06 02:41
MS厨房荒らしは2ちゃんから出てけ!!
>>86
そうだそうだ。
>>86
糞スレ上げてるお前が出て行け
クソスレってのは>>1が飽きるまで待つしかない。
クソスレだと思うなら来るなよ
ましてや荒らすなよ
削除依頼まだぁ〜
COM の世界を斬る!
http://pc2.2ch.net/test/read.cgi/tech/981823340/

ここは重複スレです
93デフォルトの名無しさん:03/02/06 02:51
重複スレは削除依頼出せや(#゚Д゚)ゴルァ!!
ふぅ。MS厨が削除依頼工作してんなぁ。
>>93
おまえ、今すごく輝いてるよ
偉そうな事逝ったって荒らしは荒らしだよね
MS厨は盗人猛々しいというか
しかも都合が悪くなるたび荒らし常習だし
           ウゼえ消えろ
      ∧_∧          _ _     .'  , .. .∧_∧
     ( ´_ゝ`)   _ .- ― .= ̄  ̄`:, .∴ '     ( >>1 )
    /     '' ̄      __――=', ・,‘ r⌒> _/ /
   / /\   / ̄\-―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
 _| ̄ ̄ \ /  ヽ \_              |  /  ノ |
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)              , ー'  /´ヾ_ノ
  ||\            \          / ,  ノ
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄          / / /
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||          / / ,'
  ||  ||           ||       /  /|  |
                       !、_/ /   〉

         ∧_∧   氏ね
        _( ´_ゝ`)
      /      )           _     _
     / ,イ 、  ノ/    ∧ ∧―= ̄ `ヽ, _
    / / |   ( 〈 ∵. ・(   〈__ >  ゛ 、_―
   | !  ヽ  ー=- ̄ ̄=_、  (/ , ´ノ
   | |   `iー__=―_ ;, / / /   ←>>1
    !、リ  -=_二__ ̄_=;, / / ,'
        /  /       /  /|  |
       /  /       !、_/ /   〉
     / _/             |_/
     ヽ、_ヽ
いくら煽っても重複スレであることに変わりはない
必死にMS厨を敵にしたがっているようだが>>1はもう一度なぜ叩かれているのかを
考えた方が良い。つーか重複スレの既出ネタだからだこのクソ馬鹿野郎。
本音 都合の悪いスレを、荒らしでうやむやに。
表向 俺は2ちゃんねら全体のために、重複スレ糞スレは許さない!
いくら煽ってもMS厨の削除依頼工作であることに変わりない
102デフォルトの名無しさん:03/02/06 02:58
>>100
正解が出ました
よっし、正解が出たところで思いっきり荒らすぞ。
でもこのスレ最初から見てみると、
初めはMS厨も普通に口論してるのに、
負け出したら途端に糞スレとかいって荒らしだしてるよな。
>>104
|-`).。oO(人間の本音なんてそんなもんだ)
はぁ? 最初っから荒らしてんじゃん。
MS厨の肩を持つ奴はMS厨
    /⌒ヽ
   ./ COM |    ______
  /  = =|   /
  (   (。。 | <  とりあえず生まれてみた。みたいな
   )  (三)ノ   \__
  E三三]
  .E三三]  /⌒ヽ、
  |三 |  / /⌒ヽヽ
  .|   し' ./   | | チュルン
   ヽ、  _ノ    リ
      ̄    /⌒Y⌒ヽ
        /      ::ヽ
        /     ..:::;;;ヽ
       (    ...::::::;;;;;;;)
         E 二三三二ヨ
108デフォルトの名無しさん:03/02/06 03:03
荒らしているのは不当なスレを削除させるため
我々に正義がある
>>108
禿げ同
そうそう、正義にためだったら人殺しだって...
>>1は削除依頼出して好きなとこいけ。

.NET大ブーム5
http://pc2.2ch.net/test/read.cgi/tech/1031758069/

.NETはもう古い?!
http://pc2.2ch.net/test/read.cgi/tech/1034044735/

.NET大ブーム9 来年60%? 非クロスバレバレ
http://pc2.2ch.net/test/read.cgi/tech/1034785925/

.NET大ブーム9 来年60%? 非クロスバレバレ
http://pc2.2ch.net/test/read.cgi/tech/1034785992/

NET大ブーム11 ISO標準化で普及に拍車
http://pc2.2ch.net/test/read.cgi/tech/1035474976/

.NETはどの程度遅い?
http://pc2.2ch.net/test/read.cgi/tech/1039636314/

>>110
正義のために人殺しはやりすぎ。荒らすぐらいがちょうどいい。
113デフォルトの名無しさん:03/02/06 03:08
荒らしマンセー
糞スレには正義の鉄槌を
つーか単にスレ立ててみたかっただけの厨か・・・
>>113
禿げ同
>>111
何処に行っても、.Net厨は都合が悪くなると荒らしてくるけどな。
>>116
つまりあなたはこれがクソスレで無いと?
全ては1がアホなのがいけない
えらくスレが伸びてると思ったら子気味の良い荒れ具合ですな
1をかばう奴はクソスレ立て予備軍
>>120
凄い良スレ立てた人?
普通スレなんて立てねえよ
普通のスレ立てた人です。
>>123
なんていうスレ?
>>116
おまえの発言は単に.NET厨を非難してるだけであって、
全然このスレを正当化できてないぞ。
つまらん戯言言ってないでとっとと削除依頼出して>>111の中から好きなの選べや。
>>122は負け犬
>>120
激しく同意
>>122
誰もスレ立てなかったら2chは存在し得ない訳だが
            ,,.----、
            i | |  |    _____
           / | |  |   /   ヽ
          /  / |  |  ,i O O |
         /  / 人ヽ、 !ー! ノ ノ ヾヾヽ、
        / /ノ,,,,,,ヽ、ヾ .|ヾ ゞ / !ヽ`ヽ- 、
       / /γ⌒/^^/^/|`ヾ  /ヾ ヾ  `ー-- 、
      / //ゞ,●>,::<'●,| ~~ヽ ヽ、, '"´``.、   .ヽ
      | ((  ( ○ ,:○) | |." ,, i   i;;;;" ゛;;;;i    |
      |  ヾ|  ,-'ニニニヽ| ||  ,/   |夜勤!!lllノ   .ノ
      ヾ  i\ ヾニ二ン",/ |""  ,, (;´Д`)'ヽ ,,, /   
       |  l l;;;;;`;,,,, ゞ-‐´/ ,,|  ゞ`      ヾ    |
       |  | レ ';;´´"  /  | 〃^ヾ ヾ  ,, ,)   !
      /  !,, ´,,,, ___,,,/ " / ;;;;;;  ヾ ヾ/,/\   `)
     /    /  | " ,, |l|/;;;;;;;;;;;;;;;;,  ヾ ゞ|   |   /
    /    /   \_____|;;;;;;;;;;;;;;;;;;;;;;;;;,,, ヾ /   |   |
   /     \    |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; i/    |   /
   |       \   |==============/    /_,,,,,,/
  /          \/::::::::::::::::::::::::::::::::::::::|    /_ ゛,,,|
  |      |"~~"\ |:::::::::::::::::::::::::::::::::::::::ヽ   / `ヽ|
  /      \   /\|::::::::::::::/^ヾ:::::::::::::::::::|  / /`) |
 | ヽ   、ー―゛- /、::::::::::::::::/  |;;;;;;;;;;;;;;;;;;;;| "  彡ノ
>>124
国際化プログラミングについて
           ,. '"´三 ̄`ヽ、
        / 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が重複スレであることを指摘され苦し紛れに>>122を叩きだした転換点
1をかばう奴はクソスレ立て予備軍
>>133
おまえはことごとく名言を生産するな。ファンになった。
良スレの予感
>>1はもういないだろ?こんな恥ずかしいスレ立てたら
今ここにいる香具師は糞に群がるハエだな
重複スレを立てると大変な仕打ちにあうことを知った>>1、15の夜。
139デフォルトの名無しさん:03/02/06 03:33
良スレあげ
これで1はスレを立てる前にスレ一覧を確認するようになったね。
>>137
こんな時間に糞に群がってる俺らって・・
142:03/02/06 03:34
                  ┌─┐       
                  │モ .|  
                  │.ゥ│       
                  │来│                   ∩
                  │ね│       ________/⌒彡
                  │え .|     /   ノ ヽ (  ノ   冫、 )⊃
                  │よ. |     /|ヽ  (_ノ   ̄   ` /
                  │ !!.│    / |ノ  .)    (_)  ,イ
                  └─┤   / |  /――、__  ./ / 
   ヽ(ソ、)ノ  ヽ(ソ、)ノ  ヽ(ソ、)ノ    /  / / /| ヽ__ノ | / / 
   | ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄| ∋ ノ  | ( | ( ’’’    | ( i
   . ̄◎ ̄  . ̄◎ ̄  . ̄◎ ̄     .|__ヽL_ヽ      Lヽ_ヽ   
この板の住人は糞スレを放置できないからなぁ
>>1がこんなところへ糞さえしなければ
スレ立てた香具師にとってはレスが無いのが一番堪える罠
このスレなんだかんだ150は逝きそうだなw
今だから言えるけど、実は>>131を見て勃起しちまった
内容からいって
C#って死滅しちゃうの? Part6
http://pc2.2ch.net/test/read.cgi/tech/1044037433/l50
が移動先としてふさわしい
もちろん都合が悪くなればC#厨は荒らしてくるし
重複スレ連発するし削除しろと騒いでくる
この展開は>>1の思う壺だな
ここが用無しであることには変わりないな。さっさと削除依頼出さないかな。

                     _,,-―- 、__              
                   _,,/;;;;;;ヾヾ 、,;;;;;;;;''ヽ_    
                  ノ;_;,-―--''''゙゙ ̄ フ::::;;:'-、   
                //          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のドットネットは旧訳聖書にも出てくるらしいよ。
それを知らなかったなら、知らなかったやつが勉強不足。
>>172
コルーチン書かせてくれ
ゲイシは怒りの炎を持ってCOM廚を3日3晩焼きたもう。
C#廚は家族を連れ、難を逃れる。
振り返りしVB廚は、その罪により塩の柱となる。

なんちゃて。
comを.net経由で呼び出せばいいじゃないか
>>176
つまりコムネットにエンターするわけだな。
178デフォルトの名無しさん:03/02/06 07:47
意味ねー
お前ら一晩やってたんだな。
さすがに、疲れたのか、めちゃめちゃになってるが。
Javaでコボラー使うからCOBOLは死んでませんみたいな
>>178
既存技術をそのまま使えるのは意味あるよ。
どっかの言語みたいに全部切り捨てるよりはね。
ドットネットでCOBOL使うからCOBOLは死んでません。
これは本当です。
> どっかの言語みたいに全部切り捨てるよりはね。
VBのことかな?
COMに流行られた
クソスレage
お前らちゃんと糞スレの中でおとなしくしてよろ、いいな
>>182
あれはCOBOLと言えるのか?
>>186
omaemona-
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
::::::::::::::::::!、-'" 、,.ノ          {、,. ゛. 、::::::ヽ::\::::::::::::::゛'ヾ、, |     八   |
>>192 そっちかよ・・・!
198デフォルトの名無しさん:03/02/08 01:26
いいよな、OSを作ってる会社は。
なんでもアリだな!
199デフォルトの名無しさん:03/02/08 04:40
糞スレとかしてるけどさ、この話ね、真面目にやってきた人間からすると、ネタじゃ済まないんだよ。
200OSN:03/02/08 05:02
>>199
サンクスコ!
201デフォルトの名無しさん:03/02/08 05:09
うんCOM
>>199
真面目にって何を真面目にやってきたの?
COMならいいじゃん。うちなんてVBでDLL大量に作ってきたの
どうすればいいのさ。
>>199, >>202
一度覚えた事が一生使えるとでも思っていたんですか?
>>203
覚えるって覚えるだけなら別にいいんだけど、
書き溜めたライブラリの類いはどうするのさ?
>>204
また書き直せばいいでしょう?
一生使えるようなライブラリは一生使えるし
そうでないライブラリは一生使えるわけない。
207デフォルトの名無しさん:03/02/08 07:54
OOで再利用だの拡張性だのごたく並べるより
まずはMS専用技術を使わないことだな
一生使えるライブラリを作りたいなら、一生使われる言語で
標準関数だけを使ったライブラリを作ればいい。
209208:03/02/08 08:02
もちろんOS依存・処理系依存な命令もなくすこと。
むしろMSはCOMからIL+metadata生成ツールを作ってくれと
(*´д`*)アハァ…
とかいいつつも.netは今までの環境よりも生産性が高いので
もう棄てられないという罠。まあ過去のことなんて直ぐに
忘れるもんですよ。
とかいいつつも.netは今までの環境よりも生産性が高いという保証もなく、
また棄てられるかもしれないという罠。まあ.netのことなんてmsは直ぐに
忘れるもんですよ。
>>212
生産性? ,netで何か生産してるの? 

使ってるだけでしょ。それは消費
我々は、>>214 を真からのアフォと認定しました。
うむ,>>214はアフォとしか言えん
二人いるみたいだね














釣られ易いのが
>>217
一人だけだろ。










メール欄ぐらいみろよ。(藁
(*´д`*)アハァ…
カンマネット消費中


(*´д`*)アハァ…
222OSN:03/02/08 13:30
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
>>1
OSKitでCOM使ってるよ。勉強汁!!
http://www.media.osaka-cu.ac.jp/~k-abe/oskit/
俺くらいのレベルになると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以外も勉強している。
235OSN:03/02/08 22:00
>>233-234
いろんな事情(会社、実家、自身)でCOMしかやれなかった人も
いるんじゃないかな。マジメとか関係ないと思うけど...
まぁ甘えだろうけどね。。。
236デフォルトの名無しさん:03/02/08 22:13
95年から2000年までは再利用を考えたらCOMしかなかったわけだが。
>>233-234
おまえらこそ、生のDLLなんつーものでしこしこ作ってたんじゃねえの?
>>236
1905年間もか。
238デフォルトの名無しさん:03/02/08 22:20
(*´д`*)アハァ…
240デフォルトの名無しさん:03/02/08 22:24
>>236
だからアフォって言われんだよw。退職して猿にでもなれよ。
241デフォルトの名無しさん:03/02/08 22:29
>240
なんで俺がアホ呼ばわりされんだ?
242OSN:03/02/08 22:49
いや実際マイクロソフトも95年頃はCOMこそが
オブジェクト技術の理想形(最終形)みたいに言ってたのは
事実だ。
243OSN:03/02/08 23:19
被害者面する気もないけど、240みたいにアホ呼ばわりされる
筋合いもないよ。
別に「COMは儲かりそうだ」とか考えて乗っかってきたんじゃないし...。
僕はMSマンセーではないけど、純粋にスゴイ会社だと思う。
優秀な製品、優秀なプログラマetc。COMが発表されたときだって
「こんなこと考える人がいるんだ」って純粋に感動した。
VBでしょうもないOCX作っててもこれが全世界でユニークだなんて
考えただけでワクワクしたもんだよ。
みんなも本心は同じだと思うよ。だってでなきゃ本屋であれだけ書籍が
出る?厚さ10センチもある解説書なんて書く?
COMと.NETが線でつながって見えないことがアホだというのが分からんのかね
245OSN:03/02/08 23:47
わからないね!
じゃあ、やっぱアホだな
今度開発される技術には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$から世界中でユニークだよって保証
されただけで「ワクワクする」だって(藁 
まあ何も言わずにこれの第1章読んどけ。話はそれからだ。
http://www.amazon.com/exec/obidos/ASIN/0201734117/
>>254
日本語訳待ちです
誰が監訳かによるよなあ。Essential XMLの二の舞だけは避けてほしい。
(*´д`*)アハァ…
(*´д`*)ハァハァ…

(*´д`*)アハァ…
   (*´д`*)ハァハァ…
  o_ /) 
  /<<
261OSN:03/02/09 12:12
>>253
バカで悪かったな!
262OSN:03/02/09 12:26
>>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まくれ!
267大橋巨根:03/02/09 13:54
>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が移植されてる可能性のこと?
おまいら、もしかして、移植されてんの知らないのか?
http://www.softwareag.com/entirex/download/download%5Fentxdcom.htm
SoftwareAGのEntireXためしてみれ。
284デフォルトの名無しさん:03/02/09 17:41
(*´д`*)アハァ…
>>256
F山監訳だったら、迷わず原著を買おう
286OSN:03/02/09 18:46
>>265
265(also254?)さんって英語できるんですね!
すげーっ!
COMのときも日本人でCOMを理解して翻訳したり
著書を出していた人って少なかったですよね。
(確か古山和夫さんもそんなことを言ってた...)
そんなわけで翻訳されない名著も多いとか...。
もういちど勉強しなおしますね。。。
287OSN:03/02/09 18:48
285さんとかぶった!?
F山さんって古山さん?
古山さんってダメなの?
288OSN:03/02/09 18:56
古山一夫さんの誤りですた。m(__)m
>>287
俺の個人的な感想では、訳本は間違いだらけ、
書き下ろし本は電波入りまくりであまりいい印象はない。
290OSN:03/02/09 19:14
マジっすか!
.NETでそれをやらないか要注意ですね(--);;
それと読むならやっぱり原著ですかね。
MSDN見てても原文をかなり端折ってることが
ありますもんねぇ...。
名著があってもCOMは要らない。
なんせ捨てられたものだし。
COMのクライアントのVBも消えることだし。
大スクープです!Essential .NETは、あの日本のCOMの大家、豊田孝氏による翻訳決定!
豊田氏にはCOMの名著も多数!期待すべし!
>>292
豊田氏か。電波度は負けてないけど、訳本の質は悪くないから、ま、いいか。
ってことは翔泳社か。
295270:03/02/09 19:49
遅レスだが...

>>271
単に「寒い」の意味です。

>>275
なんでここで多態性の話が出てくるの?
296OSN:03/02/09 19:51
>>292
サンクスコッ!
出たら買う!!
>>292
本人のカキコじゃないだろうな?(w
あの人は自分で作ったサンプルに「Toyota is great!」とか書くような人だから。(w
298OSN:03/02/09 19:54
やっぱり買わん(爆
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
>>281
それって DCOM ってゆーんじゃ?
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
317 :03/02/10 23:16
おまいら、DCOMにやられたことねーか。
俺はねーが、昔、となりのプロジェクトでやられてるのを目撃したぞ。
端末側から鯖へ要求投げる処理を(rpcかソケットで済む話なんだけど)DCOMでやったまではイイ(?)のだが、
鯖を予備機に切替えたら動かなくなっちゃったらしい。

なんでかは知らんが、とにかくお客さんはカンカンだ、何のための予備機だって。
ただのデプロイミス(設定ミス)じゃないの?
319デフォルトの名無しさん:03/02/11 00:39
ただのプロミス(債務超過)じゃないの?
>>318
つーか、導入の時にテストせんのか ?
321OSN:03/02/11 01:18
>>307
大きなお世話だ!

>>309
変なモノ貼らんでくれ!
322OSN:03/02/11 01:26
亀レスだが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
             告  知
    【!集え、選ばれし2ちゃんねらー達よ!!】
吉野家。「大盛りねぎだくギョク」。2001年のイブの
晩に全国の 『吉野家』で繰り広げられたあの奇跡が
今年もその規模をはるかに拡大して全国に降臨する。
【ルール】
@馴れ合い禁止。(一人で来る事)
A「大盛りねぎだくギョク」を頼むこと。
B各会場ごとに指定時間厳守で現地集合。
C食ったら即帰る。
【日時】
2003年2月14日および2003年2月22日
【会場】全国の吉野家

>>関連サイト<<

2月14日は吉野家へGO!
http://ip.tosp.co.jp/i.asp?I=growing034&P=7

殺伐と吉野家へネギダクギョク
http://www2.mnx.jp/carvancle/yoshigyu/
331デフォルトの名無しさん:03/02/11 14:53
>>330
あのー、「日時」って、時刻が書いてないんですけどぉ〜
332デフォルトの名無しさん:03/02/11 14:58
>>330
とりあえず、いまから逝ってきます。
333デフォルトの名無しさん:03/02/11 14:59
            __,,,,_
            /´      ̄`ヽ,
            / 〃  _,ァ---‐一ヘヽ
         i  /´   0   リ}
          |   〉.   -‐   '''ー {! 
          |   |   ‐ー  くー |  
           ヤヽリ /// ,r "_,,>//'}  /ー
         ヽ_」  (つト‐=‐ァ' ! < COM様ぁ〜、ハァ・・・
          ゝ i、   ` `二´' 丿   \
           ト、、 / ̄``ー、                           
           |`.-/   >>1
          /ヽ|       ,. ゙、
          /   | ノ⌒)   .|  ゙、
        /;.   .| (ノO   |   ゙、
       ./  ゙| ,.  |      |    ゙、
      /  . /"  .|      .|   _,_.゙、____,,,,、=、
    ./   ./!   .|     / / ̄、-‐‐'''''''ー-、\,_
 _,.、--'    /-‐''''''~~~`    //‐''"´        `\\
   _,,,、--''''~´     __...、-‐'''~~´       0      `ヽヽ
 ノ"     _,,、--‐'''~        (⌒ヽ     (⌒)    ヽ|、
   ,,、-‐'''"~              しノ      )丿     .|;;|
 ''"                          (ノ      ./、;|
    、,,,_                             //ヾ
      `` ー、                       _/´/  |
         \____          _,,,,,、、、-=‐'''"´   |
           \   /ヾ ̄ ̄~~`二>='''~..、-‐'/´       |
 \          ヽ  ヽ:::|:::,.、-‐'゙´  `'''''''''''゙´         ./
   \         ゙、 |/´                   /
    \        \´                   /
334OSN:03/02/11 15:19
>>332
おいおい逝くのかYO!

>>333
またこれだ。
335OSN:03/02/13 00:17
誰も来ないな。。。
おそらく行かないだろうが1000まで逝ったら
今度は私小説「COMと私」で行くぞ!
>>335
COM+のイイ解説本知ってる?
inside COM+ 基礎辺以外で、MTSとかMSMQにリキ入った本。
概要とか概説じゃなくて実践(コーディング)レベルの本。
できればC++で。
CやC が、長年広範囲に使われ続けてるのとは、対照的だよな。
長年って言ったってCOMの10年にくらべて、10年、20年長い程度。
339OSN:03/03/13 23:44
>>336
めっちゃ遅れた。スマソm(__)m
COM+でコーディングレベルの本...
すまん。知らん!
MSDNマガジンによく特集されてたけどなぁ。。。
縮刷版とか探してみてはどうだろう。

>>OSN
あんたイイ奴なんだな......
            __,,,,_
            /´      ̄`ヽ,
            / 〃  _,ァ---‐一ヘヽ
         i  /´   0   リ}
          |   〉.   -‐   '''ー {! 
          |   |   ‐ー  くー |  
           ヤヽリ /// ,r "_,,>//'}  /
         ヽ_」  (つト‐=‐ァ' ! < OSN様ぁ〜、ハァ・・・
          ゝ i、   ` `二´' 丿   \
           ト、、 / ̄``ー、                           
           |`.-/       ヽ
          /ヽ|       ,. ゙、
          /   | ノ⌒)   .|  ゙、
        /;.   .| (ノO   |   ゙、
       ./  ゙| ,.  |      |    ゙、
      /  . /"  .|      .|   _,_.゙、____,,,,、=、
    ./   ./!   .|     / / ̄、-‐‐'''''''ー-、\,_
 _,.、--'    /-‐''''''~~~`    //‐''"´        `\\
   _,,,、--''''~´     __...、-‐'''~~´       0      `ヽヽ
 ノ"     _,,、--‐'''~        (⌒ヽ     (⌒)    ヽ|、
   ,,、-‐'''"~              しノ      )丿     .|;;|
 ''"                          (ノ      ./、;|
    、,,,_                             //ヾ
      `` ー、                       _/´/  |
         \____          _,,,,,、、、-=‐'''"´   |
           \   /ヾ ̄ ̄~~`二>='''~..、-‐'/´       |
 \          ヽ  ヽ:::|:::,.、-‐'゙´  `'''''''''''゙´         ./
   \         ゙、 |/´                   /
    \        \´                   /
COMに流行られた?

( ´,_ゝ`) Sunの負け犬ですか?
343山崎渉:03/04/17 15:55
(^^)
344山崎渉:03/04/20 04:10
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
345デフォルトの名無しさん:03/05/24 11:42
今さらマジレスするけど、COMがもうだめなら関連書安く譲ってほすい。
漏れは日曜プログラマだから関係ないので。
ヤフオクで張ってるけどCOM関連少なすぎ。

>>23にある本とかメチャクチャ欲しい。
でも趣味なので金かけられないんだよね〜。
趣味に金掛けないで、どうするよ?
348山崎渉:03/05/28 12:48
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
なんかアンチの宣伝ばかりだね。
350デフォルトの名無しさん:03/06/12 23:47
COMだのOLE2だのって、仕様が(いろいろな意味で)ブラックなので
ブリッジ組むのもこまるよねえ…
COMってもう使わないんでしょ?
352デフォルトの名無しさん:03/06/13 00:58
CORBAも最近聞かないねぇ。
>>352
EJBはIIOPですが…
Windows DNAでプレゼンテーション層とビジネスロジック層の間はCOM。
マドル ヴュー♪ マドル ヴュー♪ マドル ヴュー♪ コントロ〜ラァ♪
http://0x2a.no-ip.org/mt/archives/000008.html
356デフォルトの名無しさん:03/07/20 22:40
COMってのはつまりDLLをクラスで作るって事ですか?
357デフォルトの名無しさん:03/07/24 17:25
COMの技術的基礎が知りたいけど、そういったものが読めるのは
あの本を買わないとだめですか?
知りたいのはずばりダイナミックリンキングの仕組みです。
COMが仕組みが入ったDLLが
・インタフェイス情報を元にレジストリからDLLを特定
・LoadLibraryして該当するDLLをメモリ中にロード
・インタフェイス情報から関数テーブルへのポインタを取得する
という手順の詳細を知りたいです。Windowsのローダの動作と合わせて
説明してるようなのがあればいいな。
358 :03/07/24 17:37
359デフォルトの名無しさん:03/07/26 03:37
>>358
全然答えになってないんだけど
>>357
あの本ってのがよくわからないけれど
「Inside OLE」か「Essential COM」を読めばDLLからCOMクラスを
エクスポートするしくみ、レジストリとの連携とかが分かると
思いますよ。。。
>>360
あの本とはInsideOLEです。
InsideCOM+をよく読んだら上の疑問が全て晴れました。
CoCreateInstanceExの動作の詳細が載っていたので。
3621:03/07/29 21:25
>>361
あっInsideCOM+もイイですね!
この本の邦訳は「インサイドCOM+ 基本編」ってなってて、
んじゃ応用編って出るのかなと思ってたらいつまで経っても
出なかったのですが、原書を見たら「Inside COM+ Base Services」
であって、ただの翻訳ミス(?)みたいですね(^^);;
いづれにしてもよかったよかった。。。
363デフォルトの名無しさん:03/07/31 10:48
>>362
insideCOM+はいい本です。CORBAの知識が無い人間にも
概念的なところから、実際のコーディングにおける注意点など
幅広く扱っていて分りやすいです。
とくに4章のApartmentの章は良かったです。
投げ出したCORBAをCOMの後に勉強すれば、すんなり習得できるかな。
↑最近(今頃になって)RPC関連のバグがウイルスのせいで
よく出てきてるね

COMをマスターして.NETに入りたいと考えている今日この頃です。
366山崎 渉:03/08/02 02:09
(^^)
367山崎 渉:03/08/15 16:14
    (⌒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使えるって聞いたことあるんだけど、
それはおれの勘違いか?
385362:03/09/15 19:21
>>381
おぉっ、レスさんくすこ!
俺の方こそ遅れてすまそん。

>基本編」は意訳だと思われ。
>それと、原書では続編「Inside COM+ Component Services」がもう出てる。

そうなんだ。。。豊田さんとりかかる前に.NETにつかまったのかなぁ。
そういや関係ないけど、前レスでEssential.NET
が豊田さん訳ででる予定とかあったけど違ったね。
まぁどうでもいいんだけど。。。
386デフォルトの名無しさん:03/09/18 23:14
参照カウントによる自己リリースってどの辺が駄目なのか教えて下さい
3871:03/09/18 23:41
あんまり詳しくわからないけれど、結局は参照カウンタを
インクリメント、デクリメントする責任がそのオブジェクトを
扱う側(つまりプログラマ)に発生するということであり、
それを怠るとメモリリークする。で、最近のPCはメモリも十分に
積むようになり、またOSがアプリケーションに割る当てるメモリも
十分あるから、だったらメモリの管理を一切PGにさせずOS側の
作業に取り込んでしまおうというのが.netとかを含めた最近の
実行環境の風潮ということじゃないかな。
>>386
.NETみたいなGC機能があるプラットフォームが理想だけど、それが無い環境下では
むしろ優れた手法だと思うけどね。動的に生成したオブジェクトをあっちこっちから
参照しまくって使う場合、誰がその所有者なのか明確じゃなくなってくるから、結局
廃棄責任がどこにあるかわからなくなる。それならば、参照カウントで管理して、
「誰も自分を参照してくれなくなった」状態のオブジェクトが自殺すればいい、というのが
COMの考え方。
389388:03/09/19 00:18
ついでに、COMの規則ではAddRefすべき状況とReleaseすべき状況が明確に
決められている。例えばQueryInterfaceでインターフェースポインタを受け取った時
とか、メソッドの[in]パラメータに渡した場合、或いは[out]パラメータで返した場合、
こういった場面での参照カウント操作の規約は明確になってる。それを正しく理解
しないで使うと、メモリリークしたり廃棄済みオブジェクトを操作して事故ったりする事
になる。
>>386
循環参照すると絶対死なない。
391388:03/09/19 00:26
>>390
確かにこれはCOMの弱点だね。GCなら問題ないけど。
でもこの問題を回避する方法はいろいろあるでしょ。
>>391
「○○に気をつければ大丈夫」と
「気にする必要がない」は
だいぶ違う。
393デフォルトの名無しさん:03/09/19 00:59
結局、COMは終わりでつか。
394388:03/09/19 01:03
>>393
アンマネージド環境であれば、まだまだ原液。
395supermathmania ◆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])によって、
メモリの割当責任と開放責任が明確に決められてるから間違えないように。
間違えるとメモリリークするかクラッシュする。
405402:03/10/07 17:42
サンクスです。>>403,404
406404:03/10/07 22:58
>>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」に入っていました。
442429:04/05/31 11:28
えっと、MSDN の「COMプログラマの解説書 Crispin Goswell」ってのを
見ながら、ピュア C でインプロセスサーバを作ってみました。

いろいろとアンドキュメンテッドなところがあって苦労しましたが、
あらかた完成したところで、Michael William Panitz
のページを見つけました。はじめからここ見てればよかった。
http://www.cascadia.ctc.edu/facultyweb/instructors/mpanitz/COM_Tutorial/COMServerInCInProc.html

インプロセスサーバの作り方はわかったのですが、
あとはマルチスレッドで呼び出されたときの安全性とかよく分かってない。
ふぅ、まだ勉強が必要みたいだ。
>>440
>DCOMはどうなのよ?

.NET Remotingに取って代わられて無事逝去されますた
444 :04/05/31 22:55
COM は C# からも使えるのか…って試してみたら
なに〜 OLE オートメーションでなくちゃだめだって。
IDispatch をピュアCで実装するのは面倒…

ATL に逃げました。アヒャ
445 :04/06/01 06:51
Visual Studio.NET 2003 で ATL を使ってCOMコンポーネントを作りました。
続けて他のプロジェクトから何の気なしに「参照設定」すると、
さっき作ったCOMコンポーネントが登録されているのを発見。

これ、いつ、誰が、登録したんでしょう…
Visual Studio.NET 2003 が勝手に regsvr32 したんでしょうか??
446 :04/06/01 07:08
ヘルプに書いてあった…
------------
[ビルド] メニューの [ソリューションのビルド] をクリックします。
プロジェクトが正常にビルドされると、
オペレーティング システムにサーバーが登録されます。
>>445
プロジェクトのプロパティに「登録汁!」とかチェック入ってるでそ。
448 :04/06/01 21:31
>>447 ビルド後のイベントに regsvr32 が指定されていました。

昨日の夜は C# から ATL で作った COM が呼び出せてうれしかったんで、
こんばんは逆に C# で作ったアセンブリを COM として呼び出してみようと思ってます。
単に呼び出すだけじゃつまらないので、適当な ADO.NET データプロバイダを作って、
COM として登録し、 MS Access の VBA から呼んでみたいと思ってます。

おもちゃだなぁ。
期待age
どっかの掲示板でそういった使い方は難しいと見た覚えがある
mscorlibやSystemをtlbexpしてVC++からimportしるということはできんのかな?
アプリ側ではマネージ用ソース書きたくないときに、
.NetライブラリをCOMとして呼んだりできないのかなと思って。
結局TLBは吐かれるけどメソッド周りが空っぽで使えなかったYO。
普通にマネージられろとおっしゃるんですな。
451 :04/06/04 03:51
>>450 .NET のアセンブリ側が条件を満たしていれば
できるかもなぁ。CCW とか RegAsm コマンド周りの話だよね?

C# で書いたクラスを COM として公開することはできるんだけどな。
つーことはシコシコとラッパークラスを書けばいいのかも。

なんか勘違いなこといってるかもな、俺。

ちなみに、>>448 でやりて〜って行ってたこと、まだできてません。
今の会社がなくなりそうなんで、転職先探し中で多忙。
はやく5月分の給料くれ〜
俺はC#で自作したコントロールが糞重いので
C++でActiveXコントロールと思い勉強中だ。
今からでもCOMやるひと結構いるんだな
そういう漏れもやり直しているわけだが。。。
いろいろなDLLを作るときに、COMにするべきかどうか迷います。
COMにした方が良い場合、COMにしない方がいい場合のアドバイスが欲しいです。
そこでいうCOMって、regsvr32.exeで登録する本物のCOMのこと?
>>455
なんでcommand.comの話をしなきゃならんのだ?
>>456
COM Portの可能性もあるぞ。
458 :04/06/09 11:18
64KBの楽園
それが COM
>>457
それは誤解の無いようにCOMMと略すぞ
460 :04/06/09 19:55
>>459 そんなの初めて聞いたよ。
461デフォルトの名無しさん:04/06/10 10:06
やっとQueryInterfaceが理解できた。
dynamic_castみたいなもんだね。
そうならそうと最初に言ってくれよ!
.NETはまだまだ重たいので、良く使う機能はCOMとして残っていくような気がする。
COMの接着剤言語としてのVB6がそのまま.NETに、VBランタイムがCLRに置き換わるような感じで。

C#やVB.NETで動作保証されたCOMってありなんじゃないのかな。
スレッドモデルの違いで、動作しないものもあるしさ。
>>459
COM1, COM2…
比較になってない
ΣΣ(゚д゚lll)
「"COM" は一般すぎる言葉のため、 検索には使用されていません。」
468 :04/06/12 06:56
>>467 そうなんだよ。もうCOMってのは一般過ぎる単語なんだよ。
それだけ COM が普及しているってことだね!
調べるとき困るんだよね・・・
>469
そういう時にはCOM+。。。ではなくて+COM。
471 :04/06/12 09:26
>>470 ダブルクォーテーションマークで囲むとかね。
CoInitializeするの忘れてて、どうしても動作せず、3日間悩んだことがあった。
473 :04/06/13 17:18
いままで自分が作ったCOMでは int とか char* くらいしか
入出力に使わなかったんですが、多くのCOMコンポーネントでは
構造体とか受け渡しできますよね?
これってどうやっているんでしょう?
特に参照設定したら Visual Studio の IntelliSense で
入力時にプロトタイプを表示して支援してくれるようにするには。
>>467
どの検索エンジンを使っているの? googleでもyahooでもないみたいだけど。

>>469
C言語にはかなわないと思われ。
475474:04/06/13 17:28
あぁ分かった。COM単体で検索してもエラーにならないけど、
他の単語と一緒に検索するとエラーになるね。

まあそういう時は>>470をやればいいだけなんで別に困らないけど。
476 :04/06/13 17:28
>>474
> どの検索エンジンを使っているの? googleでもyahooでもないみたいだけど。

Googleだとおもうよ。
>>473
DLLをCOMにするメリットって何?
478 :04/06/13 19:07
>>477 再利用性が高い、ことでしょうか。
バージョン管理が楽
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はインタフェース継承だから
基底クラスのコードまで継承クラスで全部書かなくちゃいけないから
なんなもの継承でもなんでもないって先輩に笑われたもので...
488覚えようぜ:04/06/20 08:56
このスレ読んでたら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で関数公開して、
クライアントにハンドルであれこれやらせるほうがいいんじゃね?
>>491 教えてくん、ウゼー
493デフォルトの名無しさん:04/06/20 14:11
COM=過去の遺物
494デフォルトの名無しさん:04/06/20 14:33
>>493
現在Windowsを使っているなら、必ずCOMを使っているはずですよ。 (w
自分ではそのつもりはなくてもね。
495487:04/06/20 14:36
>>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
>>500
子供は早く家に(・∀・)カエレ!
502デフォルトの名無しさん:04/06/21 16:25
>>501
ねえ。その理由具体的に言ってよ。
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;
 }
}
>>504
COMって実は結構普遍的ですよ。
>>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は馬鹿だな
520516:04/06/22 14:10
こんな短時間に3匹か
俺も結構釣り士の才能あるかな
>>520
二匹です
>>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しか使ってないので記憶が曖昧)
>>533
そりゃうそだ。COMはVB用。
コモンコントロールは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!
547 :04/06/22 23:12
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
(o^-')b グッジョブ!!
>>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はやっぱりオレが一番だよな
>>581
世界狭杉。
>>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 をお勧めします。
599596:04/06/23 23:33
>>598
先日もCOMの規約と、COMを記述する言語とを
ごっちゃにしているとここで教えていただいたのですが、
まだ理解できてないようです。
でもHTTPの例はよくわかります。
COMって難しいですね。もっと勉強してきますですm(__)m
無駄にならないといいが名
最近このスレ元気だな
COMにやられたとか言ってる場合じゃないぞ
うちのプログラミング演習の担当教授なんてプログラム組めないんだぞ<普通なのか?
Hello World !!すら表示できない。パソコン自体苦手だそうだ・・・もうだめぽ
603デフォルトの名無しさん:04/06/24 09:24
loaderを拡張して、COMで実装継承できるようになるならない?
既存のバイナリはそのままに。個人的には中間言語を間に挟むのは
どうも納得いかない。LISPが遅いと拒絶された理由そのものだったり
するわけで。
まあでも.NETがバイナリと中間言語をシームレスに繋ぐ技術ってのは
なんとなく分るから、やっぱりそっちが最適な解決方法なんだろうけどね。
605 :04/06/24 09:58
>>604 俺も今まで C++ で書いた資産との間を
つなぐために COM <-> .NET つかってたが、
最近はコア部分だけを DLL にして、
.NET でラッパークラス書くようにしている。

そういや、別スレで UNIXの curses ライブラリを DLL
にしてラッパークラス書いてるやついたな。
606 :04/06/24 09:59
>>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#だってそういう作りになるでしょ。
スマン。これは間違い。
あげてしまった。。。ウツダシノウ
621617:04/06/25 12:45
>>618
レスどうもです。

>よく分らんけど、IDogCatなるインターフェイスに意味はあるの?
>coclassで二つのインターフェイスを継承すればいいだけのような。

そうなんですけど、ここで薦められてEssential COMを読んでいるのですが
その中にこの例が出てきて、「できない」とだけ書かれていて、解決方法
が書かれていなかったもんで。。。
あくまで1つのインタフェースとして、犬猫機能が欲しいんだと思います。
>>621
うん。できない。解決方法?は、全く別の interface として IDogCat を実装すること。
んで、IDogCat を実装するコンポーネントは、そうしたければ IDogCat に加えて
IDog も ICat も実装していても良い。
623617:04/06/25 15:25
>>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#とかのほうが簡単でないかね?
633630:04/07/05 02:15
>>631
ありがとうございます。

ActiveXコントロール テストコンテナというものはあったはずです。
(http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/vcconTestingPropertiesEventsWithTestContainer.asp
ですね)
COMのデバッグって、普通はこれで行うものなんでしょうか。

COMの事まだほとんど理解できていないので、そういう常識も備わっておりません…


手元の書籍"ATL COMプログラミング"見ると、テストコンテナについても少し
(ほんとに少しなんで不安ではありますが)触れられているので、
少し勉強してみます。
634631:04/07/05 02:27
>>630
すまそ。書いといてあれだが漏れもサーバ側のコードしか
書いたことないのでOCX(イベント周り)はよくわからんのだ(TT
でもActiveXコントロールテストコンテナでデバッグしてるのを
よく見たが...
なんかいい書籍があればいいけど、とりあえずツールメニューから
テストコンテナ立ち上げてヘルプたどってみたら。。。
635630:04/07/05 02:51
>>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のデバッガを使えばブレークポイントとかもちゃんと
設定できますね…
636630:04/07/05 20:35
>>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
なにが「今度結婚するの」だ!
いままでいくら貢がせたと思ってんだ!!
ふざけんな!金返せ!!!
一回ぐらいやらせてください。おながいします。
645630:04/07/05 23:11
>>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にないものって何?
なんかすげえ質問を見た
>>655
何を想定して「オブジェクト指向」と?
>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の作成者とのコミュニケーションがうまく行っていないような気がするわけで、
配布条件については大丈夫なのかな、と。
675 :04/08/08 21:18
WINGにはやられた・・・
なにがDirectXだ!
いままで何冊本を買ったと思ってんだ!!
なつかしいな。
IEコンポーネントをCから使ってみようとしたけど挫折した・・orz
IEコンポーネントをDOSから使ってみようとしたけど挫折した・・orz
IEコンポーネントをMonoから使ってみようとしたけど挫折した・・orz
680デフォルトの名無しさん:04/08/14 22:09
あげとこう。
681デフォルトの名無しさん:04/09/07 09:57
ActiveX開発者への攻撃開始。

SP2 vs プラグイン――Active Xの変更に困惑するソフトウェアメーカー (1/3)
ttp://www.itmedia.co.jp/news/articles/0409/06/news003.html
つうかさ、本当にCOMを理解できる人なら、COMが何たるかとか理解できるから、
別にMSが言葉を変えても、技術的に基本の部分は変わらないので憑いていけるよな。

>>1は理解してなくて、ぎりぎり使わされてるレベルなんだろ?
つうかさ、本当にCOMを理解できる人なら、COMが何たるかとか理解できるから、
COMは無くならないとMSが言っても、中身だけでなく技術的に基本の部分が委譲から派生に変わったこと分かるよな。
まぁ 1 == OTL ということだけは確かだなw
685デフォルトの名無しさん:04/09/11 05:36:45
>>681
つーかなんでも出来るからな。
Webを閲覧しただけでプログラムが落ちてきて実行されるんだから
こんな危ないもの無いと思うが。
686デフォルトの名無しさん:04/09/11 14:22:13
>>30
すっすっすっすっ…




スゲェ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜!!!!
687デフォルトの名無しさん:04/09/14 09:45:53
なんだかDCOMがSP2にブロックされてるそうでつが、
DCOMはTCP/IPでサーバとやり取りすんでしたっけ?
688デフォルトの名無しさん:04/09/14 10:35:02
FlashもDCOMだっけか?
ブロックされるんだろうか。
689デフォルトの名無しさん:04/09/14 10:37:04
SP2にはやられた...
690デフォルトの名無しさん:04/09/14 10:39:09
SP2で動かなくなるのは糞PGだけ
691デフォルトの名無しさん:04/09/14 10:43:09
一番被害を受けるのはM$マンセーのWindowsDNAだろ。
ActiveX死滅でブビが氏んでWindowsDNA死滅でVC厨が氏んだ。

全員被害を受けたかというとDelphiなんかはActiveXを無視してたから無傷。
692デフォルトの名無しさん:04/09/14 11:02:19
本来あるべきセキュリティになっただけなのになんで糞PGどもは叩くの?
693在日参政権反対:04/09/14 12:12:16
途中でルール変えられてめんどくさい仕事が増えるから
694デフォルトの名無しさん:04/09/14 13:33:11
>つうかさ、本当にCOMを理解できる人なら、COMが何たるかとか理解できるから、

すぐ土台ごと入れ替わる技術はいらん。
宗教みたいな精神論もいらん。
磐石な土台の上に自分のクリエイティビティを育てていきたい。
695デフォルトの名無しさん:04/09/14 14:02:23
>>694
今のトコ COM の歴史は、Java よりも Delphi よりも Linux よりも長いわけだけど。
すぐ使えなくなるわけでもないし。

>すぐ土台ごと入れ替わる技術はいらん。
これはむしろ JDK の無節操なバージョンアップに強く感じる・・・
下位互換性くらい保証して欲しい。
696デフォルトの名無しさん:04/09/14 14:38:42
695は精神論で頭が行かれてる。

バージョンアップは派生であり、
COMから.NETへは中の人差し替え。
697デフォルトの名無しさん:04/09/14 20:09:33
土台が入れ替わっても、バイナリの互換性さえ保証してもらえれば別段困らない。
派生であっても、バイナリの互換性が失われるようでは話にならない。
(コンシューマOSの場合の話だけど)。
698デフォルトの名無しさん:04/09/14 20:59:13
GoFにはやられた...
699デフォルトの名無しさん:04/09/15 00:10:24
M$にはやられた...
700デフォルトの名無しさん:04/09/15 12:07:34
COMはだめになっても、CORBAはなくならないだろ。
CORBAスレはここのアホな削除人に消されたけど。
701デフォルトの名無しさん:04/09/21 11:35:20
SP2 vs プラグイン--ActiveXの変更に困惑するソフトウェアメーカー
japan.cnet.com/news/media/story/0,2000047715,20071923,00.htm
702デフォルトの名無しさん:04/09/21 12:13:43
703デフォルトの名無しさん:04/09/21 13:00:38
COMに流行られた
704デフォルトの名無しさん:04/09/22 02:27:42
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協賛会社あっただろ。
謝罪汁!
706デフォルトの名無しさん:04/09/22 11:49:39
COM+ やら COM 1.5 やら DCOM やらに踊らされずに、
ただの COM と http でシコシコやってきた漏れは勝ち組?

かどうかは別として、Quallcom が cdma ソリューションで携帯へのデータの push の
インタフェイスとして DCOM 使ってたんだけど、おかげで自社のE-Mail アプリ以外は
誰も使わないという途轍もなく無駄なことになってたのが記憶に新しいなぁ・・・

WinNT + Active Perl で端末にシグナルを送るサンプルとか出てたけど、微妙すぎ・・・
707デフォルトの名無しさん:04/09/22 11:52:44
これだから16bit時代のゴミどもは
708デフォルトの名無しさん:04/09/22 14:04:49
[out]なのに構造体を0フィルしてやらないと壊れた値が帰ってくるような
ふざけた実装が多いのはなぜですか?
709デフォルトの名無しさん:04/09/22 15:33:54
すべてはマーシャリングのため。
710デフォルトの名無しさん:04/10/13 10:01:57
ActiveXコントロールに代わるようなものって
.NETにはあるの?
711デフォルトの名無しさん:04/10/13 10:17:38
いつもの様に名前変えただけ
712デフォルトの名無しさん:04/10/13 10:33:23
CORBA vs COM
とか言ってて、CORBAが死んだと思いきやCOMが自殺した。
713デフォルトの名無しさん:04/10/13 16:10:27
>>712
 CORBAはそれ以前の段階。
 どっちにしろSOAPに殺されてるし。
714デフォルトの名無しさん:04/10/13 17:42:16
ORBメーカーはほとんど壊滅したな。
715デフォルトの名無しさん:04/10/18 12:09:02
>>710
AvalonがActiveXに代わる。

>「2001年にAvalonの開発に着手した際、我々はアプリがブラウザの中で実行されるか、
>外で実行されるかの区別をなくしたかった」とMicrosoftのWallentは語る。
http://japan.cnet.com/special/story/0,2000050158,20075185-2,00.htm
716デフォルトの名無しさん:04/10/19 13:59:34
誰か、COMとDirectXとOLEの関係を教えてくれ。
よくわからん
717デフォルトの名無しさん:04/10/19 21:25:14
DirectX OLE
-----------
  COM
718デフォルトの名無しさん:04/10/19 21:40:17
DirectX   OLE
    -----------
      COM

こんな感じじゃないか?
719デフォルトの名無しさん:04/10/19 22:05:08
 DirectX
-----------
  COM


                                                OLE

って感じだろ?
720デフォルトの名無しさん:04/10/20 07:48:43
ちょっと違うんじゃないかな
721716:04/10/20 13:26:49
実はみんなわかってない??
722デフォルトの名無しさん:04/10/20 13:53:16
COMは、GUIDでオブジェクトを管理する仕組み。
OLEは、もともとはオブジェクトのリンクと埋め込み(WordにExcelの表を貼り付けたりリンクしたりして、Word上でExcelのように動作するやつ)のこと。
はじめは、COMとは関係なく、最初はDDEをつかって実装された。
いまでも、DDEでOLEが実装されているアプリケーションもある。
COM、ブラウザ、VBなどの登場でActiveXと名前が変更されたりして用語の意味が混乱したが、いまはもともとの意味をさすことが多い。
DirectXは、マルチメディアを操作するためのAPI。COMコンポーネントとして実装されているが、そうでない実装をしてはいけない理由もない。
723716:04/10/20 14:08:19
>>722
ActiveXとDirectXを混同してたり、
GUID、DDEっていうのをはじめて知ったし、ためになりました。どうも。
724U ◆CZtFsGiu0c :04/10/20 14:20:30
>>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なんとかと呼ぶ)
726デフォルトの名無しさん:04/10/20 15:44:56
DDEとかOLE詳しい人は30以上と見た
727デフォルトの名無しさん:04/10/20 16:19:38
いまでも、OLEの次の技術は名前ぐらいしかあがっていないので、オブジェクトの埋め込みをサポートするなら今でも必要な知識。
DDEは、死んだ技術なのでいらないでしょう。
728U ◆CZtFsGiu0c :04/10/21 02:30:46
>>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
730デフォルトの名無しさん:04/10/29 22:08:20
>>729
イベントシンクのインターフェイスは dispinterface といって、メンバに対する dispid が
固定されていることが約束された IDispatch のようなインタフェイスになります。
C++ なら IDispatch と _IiTunesEvents の派生型として実装してください。

漏れ的には他のことも考えるとATL覚えたほうがラクだと思うけれども、
dispid を元に機械的に場合わけするだけなのでフル手動での実装も簡単だと思う。
731729:04/10/30 00:21:21
>>730
 どうもありがとうございました・・・方向性が見えたので、助かりました。
 とりあえず、実装してから結果報告したいと思います。
一応、方向性としては
class CiTEventSink : public IDispatch, public _IiTunesEvents{
////
//////ここを頑張って書いてみる。
////
};
 と言うことでやってみます。
 そのあとに、
DWORD d;
CiTEventSink es;
hRes = icp->Advise(&es,&d);
 これで受け取れるようになると思って頑張ってきます。
732729:04/10/30 03:20:05
 実装できませんでした。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnguion/htm/drgui082399.asp
 ここら辺読んだりしたのですが、
つまり、イベントを受け取るためのインターフェイスというのは、
具体的にどのように実装すれば良いのか、
皆目見当が付きませんでした。
 IDispatch と _IiTunesEvents の派生型を実装しようとすると、
たくさんの純粋仮想関数を実装しなければならず、
例えば、QueryInterfaceなどはどのように実装すればいいのか、
全然分かりませんでした。

 せっかく説明していただいたのに、生かせなくて申し訳ないです。
 とりあえず、寝て起きてもう一度向き合ってみようと思います。
↓試行錯誤の経過
http://lad.matrix.jp/prog/main.cpp
http://lad.matrix.jp/prog/comevent.cpp
 途中で、ATLとか、もうとにかく動作すればいいと思って
色々試したのですが、何も反応がありませんでした。

 どのような形でも良いので、
何か具体的な例が見られるところは
web上にありますでしょうか。
733729:04/10/30 04:21:29
 (とりあえずの)実装ができました。
http://www.codeguru.com/code/legacy/atl/ATLIPC.zip
 ↑参考にしたソース
 ↓とりあえずイベントを受け取るだけはできたソース。
http://lad.matrix.jp/prog/success_main.cpp

 コメントをくださった人、ありがとうございました。

 これで色々いじくってみて、ステキアプリケーションを作って
世に還元したいと思います。
734デフォルトの名無しさん:04/10/30 05:02:39
ガンバレ
735デフォルトの名無しさん:04/10/30 05:17:31
ステキアプリケーション!ステキ、スーテキ!





ことり。
736本田:04/10/30 10:02:51
>>729
ストライクじゃないけど、似た例なら。
http://www.vex.net/~cthuang/tcom/
Reference.cppにあるよ。

tcom使いたければ。
http://www.activestate.com/Products/Download/Download.plex?id=ActiveTcl
73769式フリーPG ◆hND3Lufios :04/10/30 13:48:25
一度ATLでシンクインターフェースを組んでみたほうがわかりやすいかも
738デフォルトの名無しさん:04/11/06 01:45:09
COMってオブジェクト指向なの?
739デフォルトの名無しさん:04/11/06 04:39:37
>738
うん
740デフォルトの名無しさん:04/11/13 13:23:13
ていうかCOMって何なの?
概念?ライブラリ?何ができるの????
本気で解らないのだけど・・・。
741デフォルトの名無しさん:04/11/13 13:37:24
共通の枠組みみたいなもんかな。
DirectXなんかのライブラリはこれを利用しこの上に乗っかっているような感じ。
742デフォルトの名無しさん:04/11/13 13:40:31
>>740
バイナリ標準+ソフト的アーキテクチャ
何か1つのソフト実体があるというわけではない。
というかWindows全体に埋め込まれている。
743デフォルトの名無しさん:04/11/13 13:58:30
>>741
どちらかというと、ライブラリがCOMでラップされている。
>>742
(バイナリ標準がなにを指しているかわからんが)バイナリ標準じゃあないだろ。
744デフォルトの名無しさん:04/11/13 14:01:57
コンポーネントを実現させるための言語費依存のバイナリ標準を定めたアーキテクチャーを実装したもの。
もともとエクセルにワード文書を埋め込むためなどに開発されたものが拡大されてそのようになった。
745デフォルトの名無しさん:04/11/13 14:05:05
746デフォルトの名無しさん:04/11/13 16:25:32
>言語費依存のバイナリ標準を定めたアーキテクチャーを実装したもの

ということはWindows等のOSに限らずに使えるアーキテクチャなの?
747デフォルトの名無しさん:04/11/13 17:10:13
>746
コンポーネント間通信についてのバイナリ標準。動くコンポーネントのバイナリについては関知しない。
DCOMなんかではその考えに基づき移植してたようなしりつぼみになったような・・・
748本田:04/11/13 20:01:16
>>740
CORBAのMS版がCOM。
http://www.corba.org/
749マイク ◆yrBrqfF1Ew :04/11/13 20:23:42
KPartsって楽しそうだな。
750デフォルトの名無しさん:04/11/13 21:16:08
>>744
"エクセルにワード文書を埋め込むためなどに開発されたもの"は、DDEですよ。
751デフォルトの名無しさん:04/11/14 02:12:00
>750
DDEが埋め込みのために作られたのかは知らないけれど、
プロセス間?通信技術のDDEをつかった埋め込みオブジェクトの発展系としてOLE1.0ができてそれがCOMをベースとしたOLE2.0になったんでない?
752デフォルトの名無しさん:04/11/14 07:23:36
>>746
IBMのメインフレーム、AIX、HP-UX、Solaris、Linux、VMS版がある。(他にもあると思う)
Solaris用は、MS提供だったような気がする。
すべてではないがソースコードも提供されている。(有償だったと思う)
Linux用は、こちら。
http://www1.softwareag.com/Corporate/products/entirex/downloads/download_exxdcom.asp
>>747
COMの基本であるインプロセスサーバへの呼び出しは直接であるし、
カスタムマーシャリングのことも考えるとコアの部分でバイナリ標準と呼べる部分は少ない。
プロセス間通信も含んだオブジェクトを管理するためのAPI群といったところでしょうか。
>>751
いずれにせよ、オブジェクトのリンクと埋め込みと、COMには必然的な関係はない。
753デフォルトの名無しさん:04/11/14 13:49:24
>752
いわれてるとおり必然的な関係はない。
けれど、もともとOLEを実現させるために設計されるうちにそれがオブジェクト間通信の基本的な技術を元になされるというところに突き当たり、COMという形で出来上がったのではなかったでしょうか?
OLE2.0はCOMをもとにしてますが、その原型はOLEを実現させるときに浮かび上がったものだったと思います。
754デフォルトの名無しさん:04/11/14 14:22:49
>>753
最初に実用化された用途がOLEだっただけで、COMの起源としては、748がいっているようにCORBAのMS版。
CORBAの細部の仕様がきまらないことにしびれを切らしたといわれている。
その名残として、IDLなどコアの部分は、CORBAと(ほとんど)同じになっている。
755デフォルトの名無しさん:04/11/14 14:57:42
もともとCOMはデスクトップ技術からうまれたんじゃなかったか?
そもそも94年ごろにはすでに実装されて他と思うけれど。
756デフォルトの名無しさん:04/11/14 14:59:52
中卒の俺にはよく解らん。
俺にも解るように応用例と学ぶにはどうすればいいのかを教えてくれ。
757デフォルトの名無しさん:04/11/14 17:29:25
>>755
CORBAの作業は1989年から始まっている。MSもメンバだが途中で実質的に抜けた。
758デフォルトの名無しさん:04/11/14 17:33:38
>757
ん。それはわかる。んで当然オブジェクト間通信技術としてCORBAの要素を取り込むところも。
ソースないけど、OLE2.0を実現させるための基礎技術としてCOM をつくってそこにCORBAも参考にしたという形だと思ってたんだけど。
759デフォルトの名無しさん:04/11/14 17:35:03
CORBAって流行った時期あるの?
760デフォルトの名無しさん:04/11/14 20:13:26
COMって何か利点あるの? APIが標準かされてるという事以外に。
761デフォルトの名無しさん:04/11/14 21:23:31
オブジェクト指向
762デフォルトの名無しさん:04/11/14 21:59:43
>>760
あまり注目されることはないが、Windows の競争力はCOMにあるといっても過言ではない。
763本田:04/11/15 07:58:43
>>762
どうぞ具体的に説明してください。
764デフォルトの名無しさん:04/11/15 22:52:10
>>763
COMをちっとも知らない人にはこれではわからないし、ちっとぐらいはわかる人にはこれだけでわかる。
765デフォルトの名無しさん:04/11/16 02:21:54
>>764
事後弁護 (ゲラゲラ
766デフォルトの名無しさん:04/11/16 13:06:15
>>764
言ってる内容にはある程度同意するけど、
COM をちっとも知らない >>760 に対するレスでそりゃあないだろ。
767デフォルトの名無しさん:04/11/17 06:21:51
アプリケーション間でのコピー&ペーストやドラッグアンドドロップがまともに動作したり、
他のプログラムから、Wordを立ち上げたり、Excelの関数が使えたり、
VBAが、OpenOfficeとちがって、親切設計だったり、
タブ型ブラウザがプログラミング初心者にも簡単に作れたり、
DirectXみたいな、速度命のAPIもオブジェクトとして提供されていたり、
リモートのオブジェクトを、それと意識せずに使えたり、
簡単にLove Letterウイルスが作れたり、
他のプラットホームではそう簡単にいかないことが、
Windowsでは当たり前にできているのは、COMのおかげ。
768デフォルトの名無しさん:04/11/17 06:32:16
>簡単にLove Letterウイルスが作れたり、
ワロタ
769デフォルトの名無しさん:04/11/17 17:22:35
>VBAが、OpenOfficeとちがって、親切設計だったり、
VBAが消えるわけですが、何か?
770デフォルトの名無しさん:04/11/17 23:57:29
まだ当分消えない羊羹
771デフォルトの名無しさん:04/11/18 10:23:01
完全消滅には10年はかかると思われ。
772デフォルトの名無しさん:04/11/20 13:14:24
VBAが消えるつっても、Officeのコンポーネントを簡易言語から簡単に呼び出して
使える仕組みという概念としては残るな。

上でCOMのメリットとして述べられていることはそういうことであって、VBAは
ただの一実装形態に過ぎん。
773デフォルトの名無しさん:04/11/20 22:32:14
一旦世に出たものはそう簡単には消えない
どんなに消したいと思っていても
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/
776デフォルトの名無しさん:04/11/22 20:46:14
>>775
Bonobo も COM と同じくらい広まるといいね。
777デフォルトの名無しさん:04/11/22 21:29:10
gnomeがunixの標準になればいいんだけどねー。まあ無理だな。
778デフォルトの名無しさん:04/11/22 22:34:41
OpenOfficeでも、それから外にでるとまともに動作しないね。
しかも、Windows 95 のレベルにもなっていない。
779デフォルトの名無しさん:04/11/23 11:13:50
KDEとかも含めて統一規格が出来ればいいんだけど、分裂を繰り返すのは
UNIXの文化だからな。ソースレベルでの互換性が精一杯。
780デフォルトの名無しさん:04/11/27 20:10:46
bonoboってORBitラッパじゃなかったけ?
でも、gnomeはいまやmonoを使おうとしてるとか誰かが前のほうで書いてるね。
gnomeはCORBAをすてて.NETなの?
それとも両方使うの?

だれか頭のいい人、 解説きぼん。
781デフォルトの名無しさん:04/12/02 14:27:32
ところでCOMの一派(と漏れには見える)のXPCOMはどう思う?

FireFoxはかなり出来が良いから、
強力なコンポーネントの実装ありきで、それを利用するコードが増えた結果
ベースのORB技術が普及する、というMS風の展開もありそうな気がするんだけど・・・
実際に使えてナンボって感じで。
782デフォルトの名無しさん:04/12/02 15:01:55
ORB技術としては.NETもよいと思うが・・・
783デフォルトの名無しさん:04/12/03 23:07:06
>>781
COMがこれほど普及している中で、XPCOMを使うメリットが見えてこない。
.NETは、その不便を上回るメリットがある。
現実は、Windowsで動作すればOKというアプリほとんどですからね。
784デフォルトの名無しさん:04/12/03 23:30:13
みなさんに質問でつ
COMって敷居が高いと思うのですがどうやって
マスターしまつたか?
MFCはなんとか使えるようになったのですが
COMは必要に迫られる場面もなく、また本を
読んでもさぱっりわからんです。
だいたいCOMにしなくてもMFCでDLLにすれば
クラスとかも再利用できるし :D-TZ
785デフォルトの名無しさん:04/12/03 23:53:59
バイトレベルで見れば単なるポインタ構造で、あれこれ小細工して統一的なインターフェイスを
提供しているんだと分かったら後は簡単でした。.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サーバーだったはず。
789デフォルトの名無しさん:04/12/04 17:29:04
>>786
もう少し歴史を勉強した方が良い。
そのような発言をしたいのであれば。
790デフォルトの名無しさん:04/12/04 17:43:45
>>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年の実装だと思うけど、
これが早いの?
794デフォルトの名無しさん:04/12/04 18:46:13
Win2k以前でもいろいろとCOMのお世話になるだろ。
795本田:04/12/04 18:55:57
>CORBA仕様を開発したのは、
>業界コンソシアムのオブジェクト・マネジメント・グループ(OMG)であり(参加企業多数)、
>バージョン1.0は、1991年10月に発表された。
http://www.idg.co.jp/sw/back/200105/20010525_01_report.html
796デフォルトの名無しさん:04/12/04 19:13:08
歴史の事はあまり知らないんだけど、こんな感じじゃないのかな?
#何かあるたびに名前をコロコロ変えるのは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にはやられた"と思うような酷い方向転換は無いと思うよ。
797デフォルトの名無しさん:04/12/04 19:13:56
>>785が「凄い」といっているのは技術そのものについて、つまり仕様についてでしょ。
実装された時期がどうのなんてことは些細なことでわ?
798本田:04/12/04 19:18:22
>>794
Office97なら、1997年か1996年だよね。
799デフォルトの名無しさん:04/12/04 19:24:21
>>796
微妙に違うところが歩きガス
>改訂を加えてOLE2を出す
べーすとしてCOMがあるが、前面には出していない。マーケティング的にもOLE2.0とCOMを同じ意味で使っている文献も多数。
>以降ActiveXにCOMを吸収していく形となる
吸収して言ってはいない
>'99 Windows2000発売。WindowsDNA構成要素のひとつであるDCOM(COM+と称す)を実装
DCOMはそれ以前より実装されている。COM+とは別物。COM+はMTSの機能などを取り込んだもの。

もともと.NETはCOM2.0としてうわさされてたもの
しかしながらCOMのかんがえかたはべつとして、ATLやまー者リングに関するめんどくさい技術などは廃れていくのは必須。
IT技術はそんなものかもしれないが。
>>953
ちょっとうらやましいぞ。
欝になってから性欲減退した。
800デフォルトの名無しさん:04/12/04 19:37:35
OLE2の時点でCOMを基盤としていたわけだから
結構古いよね。
801デフォルトの名無しさん:04/12/04 19:40:42
俺はOfficeのインターフェイスをすべて暗記した
802デフォルトの名無しさん:04/12/04 19:41:54
暗記しようとした、の間違い
803デフォルトの名無しさん:04/12/04 19:50:13
>>799
訂正ありがと!参考になったよ
804本田:04/12/04 20:07:16
「INSIDE OLE 改定新版」の序章を読むと、
OLE2の設計仕様は1992年にできて、
OLE2のSDKは、1993年に出来たように、
読める。
805デフォルトの名無しさん:04/12/04 21:36:18
CORBAの実装は1980年代。
COMよりもずっと前。
806デフォルトの名無しさん:04/12/04 21:36:46
嘘つくなバーか。証拠出せ証拠。
807デフォルトの名無しさん:04/12/04 21:38:46
CORBAは使い物にならなかったらしい分散OSの研究の
後処理みたいなものなんじゃないの?
808デフォルトの名無しさん:04/12/04 21:42:10
CORBAも対応とかじゃなくて
CORBAをメインとして使っている
ソフトで実用されている有名なのって何?
809デフォルトの名無しさん:04/12/04 21:44:42
このスレの実装は 03/02/05
810デフォルトの名無しさん:04/12/04 21:45:10
.NETってCOM3じゃなかったか?
811デフォルトの名無しさん:04/12/04 21:48:06
smalltalk や Objective-C のメッセージディスパッチャの実装を見れば
CORBA も COM もそんなに目新しいもんじゃない
812本田:04/12/04 21:58:02
813デフォルトの名無しさん:04/12/04 21:59:45
MSがパクりだとか何だとかはどうでもいいんだよ。伸びると思われるモノ・技術を選択して
成功させてるとこがポイント。InрゥらAMDに乗り換えたのだって今のところ吉と出てるしね。
814本田:04/12/04 22:15:01
MSはIA64とx86−64の両天秤だよ。
CPUの販売個数は、x86−64が圧倒しているけど。
815デフォルトの名無しさん:04/12/04 22:27:17
>>813
たしかにパクリだけどがんばってるのは認める。
っていうかシタタカで、うさぎと亀で言うと亀タイプ。
816デフォルトの名無しさん:04/12/04 22:50:45
うさぎは誰?
817デフォルトの名無しさん:04/12/04 22:51:25
世界中のヒトバシラー
818デフォルトの名無しさん:04/12/04 22:53:03
MSはウサギタイプだと思うが…
819デフォルトの名無しさん:04/12/04 23:02:25
明らかな亀でしょ。
これほど地道なところは少ないですよ。
820デフォルトの名無しさん:04/12/04 23:09:18
つかハイエナじゃないの
他の人ががんばって作ったソフトを数に物言わせて横取りしたり。
821デフォルトの名無しさん:04/12/04 23:12:11
RAV AntivirusにしてもConnectixにしても結局買収だから、怨恨を残してるのか
円満に行ってるのかよくわからんな。凶悪な所業と言えば初代Windowsの開発時に
他所のウィンドウシステムを逆アセして取り込んだ(という話)ぐらいのものか。
822デフォルトの名無しさん:04/12/04 23:18:40
>>820
力に物言わせて横取りするのはライオンだよ。
ハイエナは集団で狩りをする質実剛健なタイプ。
823デフォルトの名無しさん:04/12/04 23:30:51
>>820
ジュラシックパークにそんな記述あったな
824デフォルトの名無しさん:04/12/05 01:15:31
>>820
Microsoftに買収されれば、普通喜ぶよ。
Connectixの場合は、Macチームが釈然としない思いをしたという話をどこかで読んだことがある。
825デフォルトの名無しさん:04/12/05 02:11:06
このスレにはぜひPart2まで行っていただきたい。
826デフォルトの名無しさん:04/12/05 02:23:33
最近伸びてるな
827デフォルトの名無しさん:04/12/05 04:55:48
>>810
SDKのPE形式EXEのソース見るとCOM+ 2.0 って記述が出てくるよ。
828デフォルトの名無しさん:04/12/05 06:28:13
>>821
あの時代はリバースエンジニアリングも一つの技術だから。
いまとは若干時代が違うのだよ。っていうか今だってやってるでしょ。
829デフォルトの名無しさん:04/12/05 06:45:32
最近やっと.NETはじめたけどActiveX.DLL, EXE, OCXといったプログラム部品
としてのCOMはもうお払い箱って感じですね。.NETでクローズしていれば、
.NETのクラスモジュールがそのままコンポーネントだからCOMは必要ない。
逆にMTS(COM+)まわりはいい具合にCOMが隠蔽されて使いやすくなってる。
COMはなくなるわけではないけど位置づけが変わったって感じがしました。
MTSで使いたいコンポーネントってビジネスロジックであったりDBのアクセス
コードであったりするわけで、IUnknownとかCOM固有の約束事などまったく
興味がないわけです。COMが用途別にうまくラップされるならそれで良いよ
うな気がします。
830在日外国人参政権反対:04/12/05 07:35:40
正直、.NETのコンポーネントとしての仕組みとマネージは切り離してほしかった。
マーケティング的には難しいと思うが。
831デフォルトの名無しさん:04/12/07 07:05:37
正直、COMで考え込む。
832デフォルトの名無しさん:04/12/07 07:52:58
COMやその元アイデアのCORBAは、CやC++で使うことを
メインに考えられているようなものだからね。

Cだとオブジェクト指向ではないから、インスタンス作成できない。
また直接メモリにアクセスしたりするからマネージコードもGCもつけられない
というかそんなのを考えて設計していない。
オブジェクト指向のC++であっても、オブジェクト指向のDLLには共通形式が存在しない。
(クラスをエクスポートする標準的な方法が無い)

かといって言語拡張するわけにも行かず、旧技術でいろいろやる必要がある。
だからいろいろと取り決めが必要となってしまい、
IUnknownなどというものが特にC/C++において表面化してしまった。
好きに言語拡張が出来る非.NEのVBやDelphiなんかはCOMがはうまくラップされていたね。

.NETではGCを採用したオブジェクト指向言語から使うのをメインにして、
DLLもオブジェクト指向になっているから、うまくCOM相当の技術をラップすることが出来た。
833デフォルトの名無しさん:04/12/07 08:12:11
>>830
マーケティングというより、技術的問題だと思うが。
というか、現在でもそれなりに切り離されていると思うし
何が不便なのかしらないけど、これ以上切り離したら
マネージコードとしての機能が働かなくなると思う。
834デフォルトの名無しさん:04/12/07 17:01:21
>>832
むちゃくちゃなこといってますね
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って
838デフォルトの名無しさん:04/12/08 13:59:51
最近増えてるのは確かだけど、Frameworksのインストールが面倒であまり歓迎されない。
839デフォルトの名無しさん:04/12/08 14:08:07
導入込みで受けるのが普通じゃない?
840デフォルトの名無しさん:04/12/08 14:27:43
>>836
一般的なことはわからないから俺の周辺の様子の報告。
Windows十数台規模のクラサバ開発が主なのだが、新規案件がようやく
VB6からVB.NETやC#に移ってきた程度だな。
VB6からVB.NETの移植性が余りに糞なんでVB6は当分なくならんと思う。
俺の周辺だけかもしれんが余りOOP的な使われ方はしてないよ。フォーム
クラスのイベントプロシージャに延々コードが書かれてる。VB6の.BASの
代わりにShared(static)メソッドだけのクラスの作り方はすぐマスター
したようだ。
ActiveXの登録が不要になったので配布が楽になったのが唯一のメリットだ。
841デフォルトの名無しさん:04/12/08 23:07:26
>>838
Javaよりはマシなんじゃないか。
842デフォルトの名無しさん:04/12/08 23:28:14
>>840
君の周りだけなんじゃないか?
843デフォルトの名無しさん:04/12/08 23:36:11
>代わりにShared(static)メソッドだけのクラスの作り方はすぐマスター
泣けてくるような話ですなあ。
844デフォルトの名無しさん:04/12/09 01:00:55
携帯Javaのような話だ。
845デフォルトの名無しさん:04/12/09 01:53:02
いつの時代でもよくある話だ
846デフォルトの名無しさん:04/12/09 09:35:23
こうやって何時の日か .NET も化石化していくんだな
847デフォルトの名無しさん:04/12/09 13:08:10
技術の世代交代速度はもう少し上がってくれたほうがいいんだけどな。
変化について来れないクズプログラマが振り落とされるから。
848デフォルトの名無しさん:04/12/09 22:32:47
ほんとはもっと速く出来るんだろうけど、メーカーとしては
利益回収してからでないと次の技術に移行したがらない罠
849デフォルトの名無しさん:04/12/10 21:36:56
この世界はクズプログラマでも、何とかなる方向に進化してきたんだがね。
850デフォルトの名無しさん:04/12/11 08:53:08
MFCとかATLとか使わずにSDKのみでCOMを書くツワモノはいますか?
851デフォルトの名無しさん:04/12/11 10:36:49
クライアントもサーバーも自分で作るなら何とかなるかもしれないけど
VBやらその他のコンテナから呼び出せる品質のものを作るのはつらいな。
いろいろと約束事が多すぎてわからん部分が多すぎる。
852デフォルトの名無しさん:04/12/11 10:57:16
それで作ってるうちに他のニーズがわかってくる
853本田:04/12/11 12:57:34
>>850
>tcom -- Access and implement Windows COM objects with Tcl
http://www.vex.net/~cthuang/tcom/
854デフォルトの名無しさん:04/12/11 14:37:45
いまどきそんなことしても、何のメリットもないな。
>>853
趣旨が違ってる。
855 :04/12/11 21:46:16
自分用にブラウザをカスタマイズしたいから
com勉強してIEコンポーネント活用するか
FireFoxをカスタマイズするためにXULとかいうの勉強しようか迷う。
856デフォルトの名無しさん:04/12/11 21:47:13
XPCOMでいいじゃない
857デフォルトの名無しさん:04/12/13 00:33:04
どうしてMSって分かり難くするのかな。
解説本を売るため?
858デフォルトの名無しさん:04/12/13 01:05:34
>>857
君の言う解説のいらない技術とは?
859デフォルトの名無しさん:04/12/13 01:28:27
グーグルが
       除外するよな
               名前やめ!
860デフォルトの名無しさん:04/12/13 02:03:33
実は



+comとすれば検索できる
861デフォルトの名無しさん:04/12/13 02:17:36
雑音ばっかりになるけどな
862デフォルトの名無しさん:04/12/14 04:09:53
漏れは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の一覧みたいなやつです。
865デフォルトの名無しさん:04/12/19 01:23:25
mmapとcomの関係を100文字以内で述べよ
866デフォルトの名無しさん:04/12/19 08:23:52
COMって検索エンジンで調べずらいんだよね。。。
なにか良いサイトありますか?本屋も行ってきますが、、、
867デフォルトの名無しさん:04/12/19 08:57:22
Essential COMは回りくどい文体でよんでてよく分らん。
もっとあっさりかけるだろうに。
868デフォルトの名無しさん:04/12/19 11:15:14
COMを今から勉強するのにいい本教えてください。
いきなり分厚い本だと挫折すると思うので
入門書みたいなのがあるとうれしいのですが。
869デフォルトの名無しさん:04/12/19 12:13:51
インサイドCOM+
870デフォルトの名無しさん:04/12/19 14:19:38
>>867
というか外人さんの本ってどれもそんな漢字。
871デフォルトの名無しさん:04/12/19 14:58:09
それは訳が下手なだけ
ちゃんと内容を理解していて、文才がある人が訳せばマシになるんだろうけど
872デフォルトの名無しさん:04/12/19 15:11:51
COM今からそんなに深くはやる必要ないと思うけど・・・
COMの本質みたいなものは.NETでより洗練されて実装されているし.
プログラミング.NET とかEssential。Netをおすすめする。
873868:04/12/19 15:50:27
レスありがとうございます。

>>869
インサイドCOM+はCOM関係の本の中でも最も厚い部類のようですが...
これが今なら一番いいのでしょうか?

>>872
エクスプローラの拡張モジュールを作るにはCOMが必要と聞いたので
勉強しようと思いました(もしかして間違い?)。
COMの本は古めのが多く、もう.NETの時代かなと思いましたが
システムに近い部分だとまだCOMがメインでしょうか。
874872:04/12/19 17:04:07
それなら、そんなにふかくまでやるひつようないでしょう。
COM必要なのは間違いでないです。
それならばなんでも入門書の類のレベルまたはWEBのれべるでまにあうでしょう
875デフォルトの名無しさん:04/12/19 17:09:30
.NETでもシェルエクステンションは作れるみたいよ。
876872:04/12/19 17:18:08
>>875
まじで?じぶんもそれしりたいかも・・・
877875:04/12/19 20:31:44
>>876
ごめん。こんなんがあるけど、結局COMを呼び出すんだね。
http://www.codeproject.com/csharp/dotnetbandobjects.asp
878デフォルトの名無しさん:04/12/19 20:35:12
>>868
Essential COM(の1章だけw)
Iniside COM
あとVCとかのウィザードつかわずにスクラッチで
何か作ってみる(簡単なコレクションオブジェクトとか)
CodeProjectにサンプルとかチュートリアルがいっぱい
あるので英語だけどガンバって読んでみる
879デフォルトの名無しさん:04/12/19 21:00:53
Win32APIだけでごりごり作ってるやつって
COMの作法を理解できなかった池沼だろ
880デフォルトの名無しさん:04/12/19 21:45:39
>>879 ha ?
881デフォルトの名無しさん:04/12/19 22:02:14
exe一個か機能を適当にDLLまとめてそれでお終いなのがWin32APIマン
882デフォルトの名無しさん:04/12/19 22:03:58
>>881 ha ?
883デフォルトの名無しさん:04/12/19 22:12:45
Win32APIマンはようはソフトウェアの再利用性は考えないし、
仕事も雑そのもの。しかもDLLのインターフェイスの汚いこと。
きゃつらの頭じゃCOMコンポーネントにはまとめられないらしいな。
884デフォルトの名無しさん:04/12/19 22:13:42
15年前のWindowsの知識だけで仕事をする椰子、それがWin32APIマン
885デフォルトの名無しさん:04/12/19 22:13:48
メッセージループ大好き人間
886デフォルトの名無しさん:04/12/19 22:14:37
使いこなせないのはUNIXから流れてきた奴に多い。
UNIXはCOM以前の問題だから。
887デフォルトの名無しさん:04/12/19 22:21:49
あのお、釣り堀の場所を間違えてませんか?
888デフォルトの名無しさん:04/12/19 22:27:28
いや、Win32APIマンの実態がまるでUNIX使いみたいだったので。
889868:04/12/20 01:22:13
>>874,878 さんありがとうございます。
Webので勉強しているとなぜかすぐ集中力がきれてしまうため
まず紙の本を読みたいと思ってました。

Inside COMはよさそうな本ですがAmazonでは売り切れみたいです。
Essential COMは入門者が最初に読んだら挫折しそうな雰囲気ですが
ちょっと本屋で立ち読みしてみます。
入門書の中でAmazonで評価がましなほうだったのは
Visual C++プログラマのためのCOM入門、でしたので、これも見てこようと
思います。
890デフォルトの名無しさん:04/12/20 01:45:03
関係ないが
>Webので勉強しているとなぜかすぐ集中力がきれてしまうため
之大脳生理学的に正しいらしい・・・
本読む場合に比してメール、インターネットの閲覧では前頭葉の活性度が低い。
内容の違いモあるだろうが、メール使用時の頭の使い方が引き継がれるようなのもあるんですかね・・・
891デフォルトの名無しさん:04/12/20 15:43:17
Visual C++プログラマのためのCOM入門
↑やめとけ
89269式フリーPG ◆hND3Lufios :04/12/20 19:20:56
>>891
禿同
893デフォルトの名無しさん:04/12/20 20:33:06
VS6時代にC#があれば・・・と思ってしまうことがあるな・・・
894デフォルトの名無しさん:04/12/20 21:59:45
>>891
うっそん俺それで勉強しちったよ
895デフォルトの名無しさん:04/12/21 09:21:42
Visual C++プログラマのためのCOM入門、だめですか。
これを読んだあとATL COMプログラミングを読むのがいいかと思ったのですが。
入門書としてはVisual C++6.0 ATLによるCOMプログラミング入門も
探しましたが本屋にありませんでした。あとInside COMも。
Essential COMは良いCOMコンポーネントを作るためには読んだほうがよさそうな
内容でしたけれど、私にはまだまだ理解できそうにありませんでした。
896デフォルトの名無しさん:04/12/21 09:25:49
>>895
> 本屋にありませんでした
アマゾンからでも注文するといいよ。
897デフォルトの名無しさん:04/12/28 14:34:01
「・・やられた」の趣旨には合わないと思いますがCOMに詳しい方が多そうなので質問です。
COM+を使ってアプリ間でオブジェクトを共有することってできますか?
EJBのBMPお豆さんのようなことをしたいのです。
いまのところCOMクラスの中にDBのレコードを表すstaticなオブジェクトを
包含させて、各インスタンス間で共有させるというのを考えています。
staticなオブジェクトの代わりにstaticな整数カウンターで試してみると
一応共有できているのですが、COM+アプリケーションがひとつのプロセス
空間で稼動することを想定してかまわないのか疑問です。
898wonapi:04/12/28 15:22:52
>>879, >>884
このやろーーーーーーーー、マイクロソフトの人間じゃないのに、ソースを分析したなーーー!
ここの会社やるぞ。。。

>ソフトウェアの再利用性は考えないし、仕事も雑そのもの。
はぁ? VBへの再利用など考える余裕もない。このばかちんが。

>しかもDLLのインターフェイスの汚いこと。
まともな DllMain は後で書くつもりだ。来年までしっかり待て。

>COMコンポーネントにはまとめられないらしいな。
接続困難な俺でも「COMコンポーネント」のソースくらい持ってるぞ。
899デフォルトの名無しさん:04/12/28 15:29:15
そうだね
900デフォルトの名無しさん:04/12/28 23:23:52
>>897
SharedPropertyManager(だっけ?SPMってやつ)じゃダメなの?
901デフォルトの名無しさん:04/12/29 01:27:54
>>900
SPMに収めるにはちと大き過ぎる情報なのです。
サーバーでアクティブ化、アプリケーションプール1、JITアクティベーション、
オブジェクトプーリング最小1最大1の設定でSingletonタイプのサービスが
提供できそうなのでこの線で進めています。
902デフォルトの名無しさん:04/12/29 22:40:41
それはトランザクションなしの参照用生データみたいなものなの?
BMPみたいなことをしたいということだが、そういうのはヘタにアクティブに保持するより
DBを都度参照したほうが「結果的に」いいのではないか・・・
と昔MLで同じような質問を俺がした時に帰ってきた。
結局COM+ってStatelessに対して最適化されたデザインだし。

あとトランザクション属性(だっけ?)は「なし」(だっけ?EJBの「None」に相当するもの)にするのを忘れずに。
でないとSetCompleteするたびにインスタンスが破棄されちゃうから。
903デフォルトの名無しさん:05/01/09 15:32:03
>>832
COMを使うのは
VBでしょ。
904デフォルトの名無しさん:05/01/09 16:02:41
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とかしつこく押し付けるよな。
908デフォルトの名無しさん:05/01/09 23:59:50
DIRECTXとCOMは別物ですが何か?
909デフォルトの名無しさん:05/01/10 00:03:40
DIRECTXとCOMは別物ですが何か?
910デフォルトの名無しさん:05/01/10 09:50:54
「COMはMSの魂です」と語っていたのももう7年前のことか
911デフォルトの名無しさん:05/01/10 23:35:38
塊だたーYO...orz
912デフォルトの名無しさん:05/01/12 12:20:01
WSHとかすごく便利。
Python/Perlでお気楽プログラミングしてます。
VC++利用の方はご愁傷様です。
913デフォルトの名無しさん:05/01/13 17:01:17
WSHが便利なのは認めますが、便利すぎでCOM呼び出せまくり、
危なくてしょうがないので動かないようにしてます。
メールでWSHのスクリプト送るのはやったよね。
914デフォルトの名無しさん:05/01/14 06:31:10
うちに万万来てますな。そのメール。
Beckyなのでびくともしませんが。
915デフォルトの名無しさん:05/01/15 19:20:19
COMの思い出

VBさえなければVBさえなければVBさえなければVBさえなければ
VBさえなければVBさえなければC++つかえや!!VBさえなければ

と泣きながらCOMコンポーネントを作りました。まる。
916デフォルトの名無しさん:05/01/15 20:18:21
VCのCOM周りって
#importとか嫌な感じで拡張されてるのが嫌だった
VCからしか使えねーじゃんょ
917デフォルトの名無しさん:05/01/15 23:01:49
>>916
つり?
918デフォルトの名無しさん:05/01/16 01:59:40
いや、mingwとかbccとかで同じように書けないという意味では
919デフォルトの名無しさん:05/01/16 02:07:40
じゃあ、#import使わなけりゃいいのにね
920デフォルトの名無しさん:05/01/19 12:36:23
#importからの使い方しか知らないんだろwwww
921デフォルトの名無しさん:05/01/20 03:31:20
InsideCOM+読もうな!
922デフォルトの名無しさん:05/01/22 20:25:17
スレ違いかもしれないのですがどこに書いていいのか分からないのでここで質問させていただきます。
WindowsMediaPlayerの現在再生しているファイル情報を外部のソフトウェアから取得したいのですがうまくいきません。
どうやらCOMを使うらしいのですが

OleVariant wmp,currentmedia;
wmp = CreateOleObject("MediaPlayer.MediaPlayer.1");
currentmedia = wmp.OlePropertyGet("currentMedia");

(C++Builderソース)

とするとcurrentMediaの行で「名前が不明です」というエラーが出ます。
MSDNやOLE VIEWで見てもどこが悪いのかよくわかりません。
何かヒント頂けないでしょうか?Orz
923デフォルトの名無しさん:05/01/23 08:02:29
ageてみる
924デフォルトの名無しさん:05/01/23 09:09:13
次スレのタイトルは「COM+ 3.0」でよろしこ
925デフォルトの名無しさん:05/01/23 09:09:49
CORBAの文字も入れておこう
926デフォルトの名無しさん:05/01/23 17:44:40
>>922
それは現在起動中のWMPのインスタンスを取得していない。
別のインスタンスを作ってるんだから取れなくて当たり前。
別の方法を探せ
927デフォルトの名無しさん:05/01/23 20:15:51
>>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について調べたつもりでしたが、他の方法が無いかがんばってみます(´・ω・`)
928デフォルトの名無しさん:05/02/04 11:26:56
UNIXというかGNUのプログラムが巨大な実行ファイルを作るのは、
ライブラリ形式にすると、機能をただで使われてしまうからですか?
ソースで共有することをモットーにしているのかな。酷く不便な気がします。
929デフォルトの名無しさん:05/02/04 11:51:06
意味不明
930デフォルトの名無しさん:05/02/04 16:36:29
>>929
>>928の日記なのさ┐(´ー`)┌ 
931デフォルトの名無しさん:05/02/04 17:04:27
>>929-930
WindowsはMS様の提供してくれた各種COMオブジェクトを満載しているので、
アプリケーションのバイナリが小さくなる(こともある)、というような流れを期待
していたと思われ。
932デフォルトの名無しさん:05/03/13 00:47:09
hosu
933デフォルトの名無しさん:05/03/16 23:01:36
IDragSourceHelperにやられました。
IDragSourceHelperに渡すIDataObjectは、EnumFormatEtcからは見えない
シェル固有のプライベートフォーマットをサポートしなければならない
(GetData/SetData)。
これって、IDataObjectの仕様に違反してますよね。

丸一日、つぶれた。
934デフォルトの名無しさん:05/03/16 23:44:13
>>933
お疲れ。
935デフォルトの名無しさん:05/03/17 20:42:02
COMをレジストリ登録せずに使う方法
ttp://www.microsoft.com/japan/msdn/thisweek/vbxp/vbxp2.asp

レジストリ嫌いな人におすすめ
936デフォルトの名無しさん:05/03/17 23:46:50
Office2003のCOMアドインDLLを作ってるんだけれど、DLLがインストール
されているフォルダの場所を、DLL自身が知る方法ってありますか?
937デフォルトの名無しさん:05/03/17 23:52:52
>>936
あります。
938デフォルトの名無しさん:05/03/17 23:59:15
>>935
何でタイトルに「<br>」なんて付いてんだろう?
939デフォルトの名無しさん:05/03/18 00:11:06
>>935
WinXPだとこんな.NET風味のことできるんだねぇ。
参考になりましたありがとう。
940デフォルトの名無しさん:05/03/18 00:17:13
>>935
ありがとう
941デフォルトの名無しさん:05/03/18 00:18:31
>>936
GetModulePathだったかなんとか
942デフォルトの名無しさん:05/03/18 00:38:15
>941
>GetModulePathだったかなんとか
ありがとさんです。
出来ればVB.NETで使える方法を教えてちょうだい。
943935:05/03/18 21:04:18
よく考えたらXPでなくてもDllGetClassObjectを直接呼べば、
同じことが出来るんだけどね・・・
944デフォルトの名無しさん:2005/03/23(水) 09:50:12
>>943
DllGetClassObjectでは、ThreadingModelを意識した処理ができないのではないでしょうか。
945デフォルトの名無しさん:2005/03/23(水) 23:21:11
「キムにはやられた」(木村祐一)
「コムにはやられた」(山崎邦正)
946デフォルトの名無しさん:2005/03/25(金) 09:17:37
ばーかあああああああああああああああああああああああああああああああああああああああああああああああああ
947デフォルトの名無しさん:2005/03/25(金) 15:40:14
次スレのタイトルはどうする?
COMスレは三つ目なんだけど。
948デフォルトの名無しさん:2005/03/25(金) 16:06:01
「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はすぐに解放してしまってもよいのでしょうか?
950949:2005/03/26(土) 12:16:22
最終的にやりたいことは、動的に生成されるエディットコントロールに対して
オートコンプリートを実装したいのですが、IAutoCompleteやCEnumStringを
どのように管理すればよいのかで悩んでいます。
951デフォルトの名無しさん:2005/03/26(土) 18:50:54
俺もそんなに詳しくはないけど、とりあえず IAutoComplete に関しては
解放しても問題ない。ただし、保持しておくとモードの切替なんかが後でも
可能になる。あとはMSDN嫁。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_programming/ac_ovw.asp
> The autocomplete object will remain attached to the edit control even after you release it.
> You might not want to release these interfaces if you need to access them later.
> For example, you might want to change the autocomplete options at a later point.

952デフォルトの名無しさん:2005/03/28(月) 06:06:09
boost::xpcom


これで世界は変わる
だれか作って
953デフォルトの名無しさん:2005/03/28(月) 23:35:06
次スレは
「サングラスをかけてて、中肉中背の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を呼ぶようにしている。
だけどやっぱり不恰好な感が否めない。
955デフォルトの名無しさん:2005/04/03(日) 22:27:56
クラス構成が間違ってるだろそれ
956デフォルトの名無しさん:2005/04/03(日) 23:45:12
HogeとIFooの間にReferenceCountを挟め。
957954:2005/04/04(月) 10:47:29
>>956
さらにIFooとは継承関係のないIBarとそれを実装するHageも存在しHageにもReferenceCountが欲しいんですよ。
958デフォルトの名無しさん:2005/04/04(月) 17:29:49
じゃあ、HageとIBarの間にもRefernceCountを挟めばいいだろう。
テンプレートを舐めるな。
959デフォルトの名無しさん:2005/04/04(月) 19:14:32
テンプレート
いつもSTLとBoostは欠かさずに使っているのに忘れていた……。  ○| ̄|_

template<typename T>
class ReferenceCount : public T { /* * */ };
class Hoge : public ReferenceCount<IFoo> { /* * */ };
こうですよね。
960デフォルトの名無しさん:2005/04/05(火) 17:14:21
次スレ既にある様なんだけど
http://pc8.2ch.net/test/read.cgi/tech/1102521580/l50
961デフォルトの名無しさん:2005/04/07(木) 00:39:37
やられた...

VariantInit()やっていないVARIANTオブジェクトにVariantClear()やっていた。
どおりでわけわかんない挙動になるわけだ……。
962デフォルトの名無しさん:2005/04/10(日) 14:36:27
今ファイラー作ってるんですが右クリックを押したままドロップすると
表示されるコンテキストメニューはどうやったら表示できるんですか
963デフォルトの名無しさん:2005/04/10(日) 15:01:11
>>962
win32apiスレできいたほうがいいかも
964デフォルトの名無しさん:2005/04/10(日) 20:57:12
>>963
わかりました
965デフォルトの名無しさん:2005/04/18(月) 22:54:48
最近PCがメモリのエラーを起こすCOM何なんだ
ゴルァ
966デフォルトの名無しさん:2005/04/25(月) 19:18:22
ここで聞くのが適当かわかりませんが、コンテキストメニューに登録して
実行するツールを右クリックから実行すると、その処理が終わるまで
呼び出し元(右クリックしたフォルダ)が復帰しない(固まった状態になる)
のですが、これを解消させる(非同期で処理させる)にはどうすれば
いいのか教えてください。
967デフォルトの名無しさん:2005/04/26(火) 06:39:39
command.com?
968デフォルトの名無しさん:2005/04/30(土) 00:06:25
>>966
スレッドを作ってそこで処理しろ。
969デフォルトの名無しさん:2005/05/06(金) 23:20:43
インターフェースについて、そもそもそれが何なのかというレベルから解説している
良質のサイトってどんな所がありますか
970デフォルトの名無しさん:2005/05/10(火) 09:30:27
971デフォルトの名無しさん:2005/05/20(金) 12:32:48
972デフォルトの名無しさん:2005/06/09(木) 22:30:28
次スレがなさそうなのでage
973デフォルトの名無しさん:2005/06/10(金) 07:23:28
DCOMがむかつくので、無効化しています。DCOMで開発している方々、いい加減にしてください。
974デフォルトの名無しさん:2005/06/11(土) 00:39:36
VC++からタイプライブラリでexcelを操作したい場合の
質問スレはどこいけばよい?
975デフォルトの名無しさん:2005/06/11(土) 00:49:02
>>974
たぶんここでも平気。
976974: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()
978974:2005/06/12(日) 14:47:44
>977
ありがとうございます。
Range::GetMergeArea()ってLPDISPATCHで戻ってきて・・・
それから・・・・
・・ごめんなさい。続きを教えてください。


979デフォルトの名無しさん:2005/06/12(日) 17:19:12
>>978
結合されたセルのRangeオブジェクトが帰ってくるから。
あとはRange::GetCount()なり、Range::GetItem()でやりたいことはできると思うけど。
980974:2005/06/13(月) 23:22:44
ありがとうございました!
なんとかできました!!
981デフォルトの名無しさん:2005/06/16(木) 01:57:28
構造体みたいなCOMオブジェクトをつくりました。
これをリモート呼び出しで受け渡ししたいのですが
参照ではなくコピーを渡したい。
どうすればよろしいか?
982デフォルトの名無しさん:2005/06/16(木) 02:45:27
値渡しマーシャリングというものを見つけた。
面倒だなあ。
983デフォルトの名無しさん:2005/06/16(木) 11:04:53
自分でマーシャンリングしないとなると、

・構造体をADOのRecordsetで代用する(確かMBVに対応してるはず)
・XMLで代用する

とか。
984デフォルトの名無しさん:2005/06/16(木) 21:51:42
渡すときにコピー作ればいいだけじゃなくて?
985デフォルトの名無しさん:2005/06/17(金) 00:58:39
>>983
マーシャリングってなぁに?
986デフォルトの名無しさん:2005/06/17(金) 01:09:10
線路は続くよどこまでも
987デフォルトの名無しさん:2005/06/17(金) 09:59:29
いまさらCOMしてどうなる?
988デフォルトの名無しさん:2005/06/17(金) 12:32:27
COMatta
989デフォルトの名無しさん:2005/06/17(金) 14:31:44
>>984
コピーを作ってもリモート側にそれが出来上がるだけであって、そいつに対する
アクセスは相変わらずプロキシ経由(リモート呼び出し)になるのではないかと。

981は恐らくオブジェクト実体をローカルに持ってきてリモート呼び出しを避けたい
という話だと思う。

このあたりにMBVの例がでてます。
ttp://msdn.microsoft.com/library/en-us/dnesscom/html/custommarshaling.asp

>>985
辞書的には整列。JavaやMFCのシリアライズと同じ物かと。

>>987
否定は出来ませんね。すぐにはなくならないにしても、適用範囲は減りつづける
一方でしょう。
990デフォルトの名無しさん:2005/06/17(金) 15:12:16
WindowsはCOMで出来ている
MozillaもXPCOMで出来ている
世界はCOMで出来ている
991981
>>989
おっしゃる通りです。
しかしマーシャリングうまくいかん。リモート側でNULLになっとる。
MarshalはコールされるがUnmarshalがコールされない。

>>983
もっともな意見ですが
構造体COMにIPersistStream実装して
byte* buf;
構造体COM->save(buf)
サーバ->setX(buf, buflength)
バイトの塊でわたすという無茶苦茶なインターフェイスでいくことにしました。