13/04/24 23:19:06.74 .net
>>350
おお、参加してくれるか。まずは僕のHPの「ReactOS開発の手引き」を読んで下さい。
352:デフォルトの名無しさん
13/04/24 23:20:39.20 .net
いいえ。
353:デフォルトの名無しさん
13/04/24 23:31:49.80 .net
--------------------------
運命の選択
--------------------------
ReactOS開発に参加しますか?
[はい] [いいえ]
--------------------------
354:デフォルトの名無しさん
13/04/24 23:44:20.41 .net
それは人生のスイッチ。
実力と英語力と時間がある人はお金がもらえるよ
355:デフォルトの名無しさん
13/04/28 13:51:46.76 .net
複数のアプリで共通のインタフェースを持たせたい場合、単純にそのインタフェースを
定義したIDLをそれぞれのアプリでimportすればいいんですかね?
あとこのとき、インタフェースのバージョンアップ(メソッドの追加など)はどのようにすれば
いいんでしょうか?
356:デフォルトの名無しさん
13/04/29 01:24:17.27 .net
>>349
お前が亡くなれば参加してもいい
357:デフォルトの名無しさん
13/04/30 22:25:04.86 .net
>>356
ジェラシーか?
自分を恥じているのか?
いずれにしても時間の無駄
358:デフォルトの名無しさん
13/05/03 10:32:20.14 .net
VSのウィザードが生成するidlは最初にinterfaceの定義があって、その後に
coclassを含むlibraryが記述されますが、interfaceがlibraryの外で定義されるのは
どういう理由からなんでしょうか?
libraryの中にinterface定義を記述する場合とどう違うんでしょうか?
同じinterfaceを使う複数のlibraryが書けるようにしているんですかね?
359:デフォルトの名無しさん
13/05/05 19:33:07.15 .net
>>358
インターフェイスの再利用のため。
360:片山博文MZパンク ◆0lBZNi.Q7evd
13/05/05 19:35:18.14 .net
COMは人工知能を作りたい人が越えるべき一里塚
361:デフォルトの名無しさん
13/05/05 19:48:55.67 .net
いいえ。
362:片山博文MZパンク ◆0lBZNi.Q7evd
13/05/05 20:44:26.04 .net
COMではinterfaceと実装を分けて考える必要がある。
interfaceは外に公開する操作用の接点。実装はinterfaceに必要な機能の詳細。
interfaceを幅広く利用するために、生成・破棄の手段を一定の形式に従って公開している。
363:デフォルトの名無しさん
13/05/05 20:48:16.38 .net
ずっと昔はidlとodlに分かれてなかったっけ?
364:デフォルトの名無しさん
13/05/05 21:39:29.29 .net
馬鹿じゃね?
OOならずともinterfaceなら当たり前じゃね
365:片山博文MZパンク ◆0lBZNi.Q7evd
13/05/05 22:01:55.03 .net
例えば、集合を表すinterface ISetを公開する場合、実装方法は自由に選べる。
連結リストで集合を実装するclass CSetByListの実体を返してもいいし、ベクトルで集合を実装するclass CSetByVectorを返してもいい。
interfaceと実装を分離することでソフトウェア部品の共通化と再利用性が高まる。これはこれからの人工知能の要と言える。
366:デフォルトの名無しさん
13/05/05 22:12:28.10 .net
>>359
再利用ってのはつまり、複数のlibraryで同じinterfaceを参照したい場合のために
libraryの外でintefaceを定義しているってことですかね。
ということはひとつのlibraryでしか使わないintefaceはlibraryの中で定義しても
同等なんでしょうか?
dispinterfaceの場合はlibraryの中で定義する場合と外の場合とでMIDLの
コンパイル結果が大きく違うようですが。
367:デフォルトの名無しさん
13/05/05 22:36:34.92 .net
公開したくないなら公開するな。そういうことだ
368:デフォルトの名無しさん
13/05/05 22:55:13.70 .net
>>367
library内のcoclassが参照するinterfaceなら、中で定義されたものでも外で定義されたものでも
どちらの場合もタイプライブラリに含まれて公開されますが?
369:デフォルトの名無しさん
13/05/05 23:10:51.26 .net
じゃあ、参照するinterfaceを作成する方法は何通りある?
370:デフォルトの名無しさん
13/05/05 23:41:13.95 .net
とりあえず、再利用の話なのか公開の話なのか参照の話なのか話題を絞れ。
371:デフォルトの名無しさん
13/05/05 23:49:02.61 .net
>>369
一通りって何を数えるんだろう?
・同じidlに書く
・別のidlに書いてimportする
・別のタイプライブラリにコンパイルしたものをimportlibする
とか?
372:デフォルトの名無しさん
13/05/05 23:57:34.82 .net
>COMは人工知能を作りたい人が越えるべき一里塚
なんで人工知能を作りたい人の文脈でCOMが出てくんの?
373:デフォルトの名無しさん
13/05/06 00:03:17.85 .net
>365 :片山博文MZパンク ◆0lBZNi.Q7evd :2013/05/05(日) 22:01:55.03
>interfaceと実装を分離することでソフトウェア部品の共通化と再利用性が高まる。これはこれからの人工知能の要と言える。
なんでこの人広義なソフトウェアの一般論をわざわざ人口氏h脳だけに的を絞って話してんの?
覚えたてなの?きもちわるい
374:片山
13/05/06 00:44:13.05 .net
えいやこら
えいやこら
どっこいしょ
375:デフォルトの名無しさん
13/05/06 00:54:33.89 .net
ワリートマケの唄
えいやこらどっこいしょ
えいやこらどっこいしょ
パソコンのためならえいやこら
376:デフォルトの名無しさん
13/06/16 20:30:09.00 .net
We love COM
377:デフォルトの名無しさん
13/06/25 09:16:34.35 .net
C#で書いたアプリにスクリプト機能つけようとしてんだけど
C#4.0のオプション引数機能がそのままスクリプトでも使えてワロタ
public void Hoge( object arg1 = null, object arg2 = null, object arg3 = null ){...}
って公開したメソッドがスクリプトのほうでも
Hoge( 1, "hage", true );
Hoge( 1, "hage" );
Hoge( 1 );
って感じで使えてマジでスクリプトっぽい。ちょっと感動。
378:デフォルトの名無しさん
13/06/25 10:03:40.56 .net
当たり前じゃね?
なんで出来ないと思ったの?
379:デフォルトの名無しさん
13/06/25 11:18:52.59 .net
いやー
スクリプトさんがシグニチャからメソッド探すときに
よく間違えないで見つけてくれるもんだと思ってさぁ
オプション引数使ってないメソッドをシグニチャ違いで呼ぶと
スクリプトさんのプロセスで「プロシージャの呼び出し、または引数が不正です」って怒られるのよ
.netの方じゃなくて。
380:デフォルトの名無しさん
13/06/25 12:12:25.70 .net
引数があってるか確認してるのは
スクリプト側じゃなくてBinderだからな
381:デフォルトの名無しさん
13/06/25 22:38:57.90 .net
そうだ、バインダーが探せバインダー
382:デフォルトの名無しさん
13/06/26 10:22:05.92 .net
昔MSX界隈に、どうすれバインダーっていう人がいたな
383:デフォルトの名無しさん
13/07/13 NY:AN:NY.AN .net
ファイルタイプのアイコンハンドラを登録して
InprocServer32にdllを設定する時、
64bitOSの場合でそのdllが64でビルドされてたら
32bitアプリケーションからはそのアイコンハンドラが呼ばれないって状況はありえる?
つーか普通そのdllって32bitで作るの?
384:デフォルトの名無しさん
13/07/13 NY:AN:NY.AN .net
状況はありえる
32bit専用で作ることも出来るし
64/32bit兼用で作ることも出来るが
64bit専用のものは32bit側からは使えない
385:デフォルトの名無しさん
13/08/07 NY:AN:NY.AN .net
comcom
386:デフォルトの名無しさん
13/08/08 NY:AN:NY.AN .net
comとcom+は何が違うのですか?
387:デフォルトの名無しさん
13/10/20 07:29:10.07 .net
COMはインプロセス
COM+はアウトプロセス
細かい違いはあるが基本はそれだけ
388:デフォルトの名無しさん
13/10/20 07:57:19.20 .net
32bit用に作られたcomサーバーを
64bit用のcomクライアントから使用したい場合
上記サーバーを64bit用に作り直す
(ソースの変更と再コンパイル)
必要がありますか?
それともwrapperみたいなのを書けば対処可能ですか?
389:デフォルトの名無しさん
13/10/20 08:13:57.34 .net
必要ありません
登録する時に適切な手順を踏めば問題なく利用できますし
390:デフォルトの名無しさん
13/10/20 10:33:00.13 .net
なるほど
どいうことは
64bit用のクライアントで使用できない
32bit用に作られたCOMサーバーは
登録する時に適切な手順を踏んでいないということですね
多分COMサーバーのインストーラーが変なことしてるのかな
391:デフォルトの名無しさん
13/10/20 10:52:02.39 .net
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
この辺見ると、63bit/32bit相互運用可能なのは、アウトプロセスの場合のみって思えるけど違うの?
IEやOfficeはともかく、一般のライブラリ的なCOMサーバはインプロセスが多そうなので、
相互呼び出しできないんじゃないの?
392:デフォルトの名無しさん
13/10/20 10:58:41.04 .net
×63bit/32bit相互運用可能なのは、
○64bit/32bit相互運用可能なのは、
です
393:デフォルトの名無しさん
13/10/20 11:57:13.62 .net
>>392
気付かなかったorz
眼科行くべきか
394:デフォルトの名無しさん
13/10/20 12:09:36.50 .net
2秒くらいえっ?てなった
395:デフォルトの名無しさん
14/03/08 15:04:30.80 .net
鳥の竜田揚げ
396:デフォルトの名無しさん
14/03/17 14:07:47.87 Z9hT6Asb.net
IDataObjectを実装してるオブジェクトから
あるフォーマットのデータを削除することってできる?
空データで上書きしてもそのフォーマットとしては残るし
空データでもデータとして意味がある場合もあるし
自前の実装でそういう処理を書ける場合じゃないと無理?
397:デフォルトの名無しさん
14/03/17 19:51:29.13 +0g3AXKA.net
無理だな
398:デフォルトの名無しさん
14/04/12 18:28:31.07 EWT/9iBD.net
IDataObjectにHGLOBALなデータを設定するとき、
一体どのAPIを使ってメモリを割り当てたらいいんでしょう?
伝統的にはGlobalAllocを使うんだと思いますが
LocalAllocを直接使っているコードを見たことがあります。。
399:デフォルトの名無しさん
14/04/12 18:44:11.92 ZtAe8uA3g
そやな
400:デフォルトの名無しさん
14/04/12 18:47:39.61 QTVFiGTh.net
HGLOBALならGlobalAlloc使っとけばいいんじゃない?
Win16と違って、Win32では同じものだけどね。
401:400
14/05/02 09:11:42.05 vd73L/AD.net
とりあえずシェルのカラムにあるやつはなんとか取得できそうです。
IShellFolder2::GetDetailsOf( null, ... をループでまわして取得したローカル名と比較するという力技ですが。
一致した場合にそのインデックスからIShellFolder2::MapColumnToSCIDでPROPERTYKEYが取れました……
402:デフォルトの名無しさん
14/05/06 20:14:34.65 XJoiCw0I.net
OLE スレッド モデルの概要としくみ
URLリンク(support.microsoft.com)
403:デフォルトの名無しさん
14/05/07 13:11:23.49 9Lrwf94O.net
φ(..)メモメモ
EternalWindows - COM
URLリンク(eternalwindows.jp)
温COM知新 (おんこむちしん)
URLリンク(www.asahi-net.or.jp)
COM研究室
URLリンク(atata.sakura.ne.jp)
404:デフォルトの名無しさん
14/05/07 13:19:13.42 9Lrwf94O.net
どとねと
相互運用マーシャリング
URLリンク(msdn.microsoft.com)
アンマネージ コードとの相互運用
URLリンク(msdn.microsoft.com)
405:デフォルトの名無しさん
14/05/14 14:14:24.97 duQE1tkX.net
A synchronous OLE call made by the recipient of an inter-process/inter- thread SendMessage fails with
RPC_E_CANTCALLOUT_ININPUTSYNCCALL(0x8001010D).
URLリンク(support.microsoft.com)
406:デフォルトの名無しさん
14/07/08 15:13:40.82 VCOU0wLj.net
テキストエディタのMeryみたく、自作アプリのマクロを
WSHエンジンで動かせるようにするにはどうしたらいいのでしょうか?
Visual Studio で C++(MFCなし) の場合です。
ヒントだけでもいただけたらと思います。
407:デフォルトの名無しさん
14/07/09 11:49:40.02 Q25RUpED.net
どなたか、いませんか~?
408:デフォルトの名無しさん
14/07/09 13:21:03.55 QQm9iNty.net
いませんよ
409:デフォルトの名無しさん
14/07/09 15:23:34.29 Q25RUpED.net
生存かくにん。 よかった(ハート)
410:デフォルトの名無しさん
14/07/10 06:52:04.27 fp5I0Zvk.net
season quinen age
411:デフォルトの名無しさん
14/07/10 08:28:32.99 hXB94njE.net
COMも、LoadLibraryみたいな形でアプリ内で閉じて使えたらアプリのプラグイン
インターフェースとして使えたのにな。
412:デフォルトの名無しさん
14/07/10 09:47:10.09 1VHW603R.net
>>406
WSH上で動かすんじゃなくてWSHの機能を呼び出すんじゃろ
まずは難しいことを考えずに
コマンドリストを実行できる機能をつけて
そこから改良していけばいいのではないか
凝ったことをやりたいなら構文解析・パーサーをキーワードにして
知識を広げていくのが良い
413:デフォルトの名無しさん
14/07/10 15:23:41.68 1VHW603R.net
それとも
IDispatch::Invoke と IDispatch::GetIDsOfNames を組み合わせて使うとか
そういう話かな
414:デフォルトの名無しさん
14/07/10 17:14:05.85 fp5I0Zvk.net
v8を組み込んで
jsインタプリタ内蔵の
プラグインにすれば良い
415:デフォルトの名無しさん
14/07/13 03:23:13.23 b3Vz6umr.net
>>406
サクラエディタのマクロはWSHだったような気がする
416:デフォルトの名無しさん
14/07/14 15:28:36.63 uZs3XM/U.net
IFileOperation でファイルのショートカットを作成することって出来ないの?
コピー・移動・リンク作成が直交的に作れたら美しいんだけど
417:デフォルトの名無しさん
14/07/14 22:35:59.63 DvBldTQU.net
EXCELをCOMアドインで操作していると、同じ処理をしているにも関わらず、
ある時は数秒で終わるのに、ある時は、何十秒も掛かったりと、挙動が
おかしいのですが、何か解決のヒントありますか?
418:デフォルトの名無しさん
14/07/15 20:35:27.97 UxnDWfjl.net
>>417
COMなんて使わずにこれ使えよ。マイクロソフトご謹製だよ。
URLリンク(www.microsoft.com)
ま、使うとかなり目眩がするけどなwww
419:デフォルトの名無しさん
14/07/21 07:49:19.08 6nmHe42m.net
>>416のシェルを使ったショートカット作成の件だけど、
→作成先フォルダのIDropTarget取得
→ショートカットを作るファイルのIDataObjectをCF_HDROPとかCF_SHELLIDLISTとかの形式で作成
IFolderViewがある場合簡単。
→IDropTargetのDropその他を順番に呼び出す。その時effectをDROPEFFECT_LINKにしておく
みたいなウンコな方法か、ちまちま一個ずつ作るしかないの?
ちまちま一個だとUndoを一度にやってくれないし
もしかしてこのウンコの方法が正統な方法だったりする?
420:デフォルトの名無しさん
14/07/21 07:53:53.45 hvY5HB9k.net
うん
421:デフォルトの名無しさん
14/07/24 19:57:03.53 s9ARWR1P.net
COMによるOffice automationを調べていると
COM/ATLというような用語も見つかるのですが、COMとCOM/ATLというのは
異なる技術ですか?
私の理解では、C++でCOMやる場合は、CoInitializeExやCoUninitializeを使って
やる方式のことだと思っています。COM/ATLというのが分りません。
どなたか簡単に解説お願いします。
422:片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
14/07/24 20:19:40.19 BX5qEEGf.net
「active template library」で検索
423:デフォルトの名無しさん
14/08/07 17:34:11.54 utSp7A7J.net
>>421
プログラムが大きくなるとコンパイルに時間がかかるから
共通部分と分けるじゃない? あれが静的ライブラリで lib
さらに共通であちこちのexeで使われるようなものは1度コンパイルしておいて
動的にメモリに読み込んで使えるようにすればいいじゃん これが動的ライブラリで dll
さらに動的ライブラリdllにもC++のオブジェクト構造のような関数以外のものも入れたいなぁ
さらに言語非依存にして、そこで参照回数などのオブジェクトのメモリ管理も加えたCOM技術で作ったdll
COMサーバーという
この外部オブジェクトライブラリを使うのに、CoInitializeExやCoUninitializeを使うのはCOMクライアント
COMクライアントは別にC++でなくてもJavaScriptでもVBでもC#でもPerlでもなんでもいい
COMサーバーは大別してインプロセスサーバー、アウトプロセスサーバーがあるけど
ぶっちゃけ一から書くのはメンドクサイ
そこでライブラリ作ろうか~ということで出来たのがATL/WTL
424:デフォルトの名無しさん
14/08/07 17:50:19.99 oQyOe1xD.net
わっかりやすーい
425:デフォルトの名無しさん
14/08/07 19:32:56.15 zGwpFhqC.net
参照カウントなんてどこで増やしてんの?
426:デフォルトの名無しさん
14/08/07 20:30:34.00 utSp7A7J.net
>>425
参照カウントはIUnkhownが担当してる
なぜ参照カウントが必要かというと使われなくなったオブジェクトを提供するために
dllをメモリに読み込んでいるわけだけど、つかわれなくなったら破棄するため
ちなみに何度も1個だけインターフェースを作ったり破棄したりする可能性のあるCOMは
dllの読み込みや破棄を連続で行わないためにClassFactoryを実装することが薦められている
COMは最初は言語非依存じゃなくて単に動的ライブラリdllにオブジェクト機能を持たせるだけだった
(インターフェイスの階層構造で、仮想ポインタの配列順で実現してた)
だから以前はヘッダが必要だった
つまりC++専用だった
IDispatchというインターフェイス名でを動的に関数ポインタを取得できるインターフェイスを作ることで
プログラム内にインターフェイス名を書くだけでよくなり言語非依存になった
従来の関数ポインタ順とは別にIDispatchを両方用意することをディアルインターフェースという
このあたりからOLEとか呼ばれるようになった
さらにこのインターフェイス名やGUIDはOS(というかレジストリ)に記録するものなので
Windowsアプリからはどこからでも利用できるはず・・・・
それならブラウザ内の埋め込みスクリプトからも利用できるようにしようということで ActiveX と名前を変え
ActiveXサーバーを作るものだから ATL(Active Template Library)なんだと思う
427:デフォルトの名無しさん
14/08/08 01:05:55.34 hqeBSYtp.net
COMはレジストリ登録必須じゃなくて従来のdllと同じようにアプリケーションに閉じた形で使えたら
もう少し使いでがあったんだがなぁ。
428:デフォルトの名無しさん
14/08/08 01:12:38.28 B23vVFp/.net
>>427
dllをLoadLibraryして関数呼べばCOMオブジェクト作れるでしょ?
レジストリ登録はCoCreateInstanceでCOMオブジェクト作るなら必要ってだけで
自前でやる分には何の問題もない
429:デフォルトの名無しさん
14/08/08 01:27:40.29 hqeBSYtp.net
なるほど、自分でDllGetClassObject呼んでやればいいのか。
もう使うことはないだろうが、参考になった。
430:デフォルトの名無しさん
14/08/08 04:42:26.72 1UU7vf/D.net
>>426
すべてが行き当たりばったりなんですね
431:デフォルトの名無しさん
14/08/08 07:00:09.81 /GOXeWKw.net
>>423
細かい突っ込みだが WTL は COM と関係ないべ
432:デフォルトの名無しさん
14/08/08 09:24:29.43 gW33htdT.net
概出かも知れませんが
URLリンク(keicode.com)
URLリンク(keicode.com)
433:デフォルトの名無しさん
14/10/23 13:56:20.92 ISc0F2Qf.net
OLEオブジェクトにゼロデイ脆弱性、Microsoftが暫定対策プログラムを公開
URLリンク(www.forest.impress.co.jp)
434:デフォルトの名無しさん
14/11/07 16:14:18.00 tCwEoRvN.net
分散オブジェクトは距離に応じた最適な大きさ(機能)があって、
一律の仕組みにすることが最良ではなかった。
435:デフォルトの名無しさん
14/12/06 08:07:09.24 1X8GhzUe.net
>>430
だがそれがいい
436:デフォルトの名無しさん
14/12/08 00:18:29.73 imKvrg71.net
COMは.NETの登場で廃れると思ってたが結局10年経っても廃れなかったな、ネイティブコードの言語が健在だから
437:デフォルトの名無しさん
14/12/08 10:11:02.56 rVPpfxjW.net
非同期処理には向いてないっぽい
438:デフォルトの名無しさん
14/12/12 09:04:26.82 s5Npqjiu.net
DCOMの非同期版みたいなのをMSが考案してMSJかMSDNマガジンでそれを読んだが、全く流行らなかった。名前も思い出せないわ。
439:デフォルトの名無しさん
14/12/12 11:51:31.03 RkbkbG+A.net
結局、MS Office は .NET では書かれないんだからな。そりゃCOMとOLEが残るわな。
440:デフォルトの名無しさん
14/12/12 11:55:33.92 r3Fvlg1D.net
OOOとかLibreOとかGoogleSpreadsheetとかで間に合うのに
なんでみんな有料のものを喜んで買うんだ
441:デフォルトの名無しさん
14/12/12 12:16:02.48 j/Rc/sNK.net
MS自体がデスクトップアプリで.NETなんか使わんと言ってるようなもんだからな
442:デフォルトの名無しさん
14/12/13 00:14:39.65 pBf+dW7w.net
DLLとしてのCOM実装は実行オーバーベッドもないし、それでいてコンポーネントベースのオブジェクト指向を実現できるからな、シンプルでよく出来てる
流行り廃りではなく、ネイティブコードならいつまでも使い続けらる技術だよ
.NETには何の魅力も長所も感じない
動作が遅い、デフォで導入されてない.NETフレームワークのインストールも、OSに任せればインターネット接続が要るし、丸ごと再頒布するにはデカ杉
443:デフォルトの名無しさん
14/12/13 00:17:26.75 hYWK5mUP.net
最近のOSには入ってるしインストールの手間はないだろ
444:デフォルトの名無しさん
14/12/13 00:25:07.03 pBf+dW7w.net
Win8からは.NET fxはVer4.5しかインストールされてないよ、デフォでは
.NET3とか2のエンジンは、Windows Featureのon/offの所からから明示的に導入しないと、.NETランタイム不在と認識される
.NET4は3や2の代用にはならない
445:デフォルトの名無しさん
14/12/13 00:34:37.63 pBf+dW7w.net
.NET fx2の再頒布モジュールは30~40MBでたいして大きくはないんだけど、それを製品に添付してインストールしようとすると、Win8はそれを利用しないんだよね
確かにインストールは開始するんだけど、持ち込んだ.NET fx2は古すぎて気に入らないのか、無視してネットからDLしようとする
かといってもっと新しい.NET fx2再頒布モジュールがある訳でもない
446:デフォルトの名無しさん
14/12/13 04:28:04.73 jrsNMnhJ.net
何がんばっちゃってんのこいつ?
447:デフォルトの名無しさん
14/12/13 06:14:24.22 KcZztYF+.net
URLリンク(blog.trendmicro.co.jp)
448:名無しさん@そうだ選挙に行こう
14/12/14 11:37:06.17 X+6lyliS.net
.NETからDLL呼ぶためにはP/Invokeを手で書かないといけないけど、COMDLLならTLBからインタロップ自動生成してるから楽
まあ普通のDLLもIDLファイル作っとけばいいんだろうけど、普通やらないもんな
449:デフォルトの名無しさん
15/01/02 20:24:42.85 mlj15zVW.net
Inside COM(日本語版)って結構高く売れんのかね?
450:デフォルトの名無しさん
15/01/02 20:29:14.43 F7Nf/+TC.net
>>449
今更新規に学ぶ人なんか居ないから売れない
既に理解してる身としてはまだまだ使い道ある技術だけどね
451:デフォルトの名無しさん
15/01/03 01:17:50.23 AuGuhWCh.net
>>449
読んだのはだいぶ前だけどそこそこ勉強にはなったな
COMの利点はC++で作ったDLLを他の言語から使えるって事かな
OSの基本機能はC++で実装する事がほとんどだろうからCOM自体は永久に無くならんだろうね
452:デフォルトの名無しさん
15/01/03 11:28:31.16 duDbuP4G.net
ステマ乙
453:デフォルトの名無しさん
15/01/03 15:18:55.60 AuGuhWCh.net
>>452
ステマって誰が儲かんだよw
ま、いい売り文句を言えたと理解しておこう
454:デフォルトの名無しさん
15/01/06 08:32:22.24 c/PNiN5K.net
元々はC++のvtblを巧みに利用したインターフェース志向の技法で、DLLというコンポーネント分散によって言語依存が消えた
でBasic言語にC++のvtbl構造を模倣する仕組みを入れてCOMをネイティブにあつかえるようにしてVBAが出来た
てことなんだろうと思う
455:デフォルトの名無しさん
15/01/06 23:31:34.41 KFlyuGQs.net
>>454
VBからCOMが使えるのは間違い無いが、VBから使う時は名前(文字列)によるメソッド検索をしてると
Inside COMに書いてあった気がする (QueryInterfaceだっけ?)
どっちにしても、言語に依存しないのはいい事だ
LinuxはC言語が唯一のインターフェースだから、そろそろ言語非依存のインターフェースが普及してほしいよ
候補は色々あるけど、どれも普及はしてないな
456:デフォルトの名無しさん
15/01/06 23:34:43.36 C2mmH5Le.net
IDispatchだろ
457:デフォルトの名無しさん
15/01/06 23:47:22.80 KFlyuGQs.net
>>456
すまん…スゲー昔の記憶だけ書き込んでた…
反省はしてない
458:デフォルトの名無しさん
15/01/06 23:50:36.05 kiKfNKwr.net
>>456
だね、俗に言うレイトバインディング
VB4まではそれしか使えなかった
459:デフォルトの名無しさん
15/01/07 00:33:09.37 A8Vu2ukb.net
>>455
Win32だってC言語ベースのAPIだからね
DirectXとか一部だけでしょCOMなのは
C++の抽象クラスとvtblをつかったポリモーフィズム技法をDynamic Libraryに適用すればCOMもどきはできるんじゃないかな
WindowsでのCOM DLLみたいに、OSからの認識規則なんかを誰かが決めてやらないとダメだけど
460:デフォルトの名無しさん
15/01/07 02:06:30.69 HBIMK+Li.net
ORBとかCORBAでしょ
XPCOMとかもあったけどLinuxでは結局どれも流行らなかったのかな
Linuxだと普通GPLでソース公開だから、そんなもの使わなくてもスタティックリンクでokってことなのかもな
461:デフォルトの名無しさん
15/01/07 07:25:24.74 nx6cbjbg.net
>>449
Inside OLE(日本語版)がAmazonで良い値が付いてるな
売ろうかw
462:デフォルトの名無しさん
15/01/07 08:53:21.20 v+HQiVT1.net
初期のOLEはCOMではなくDDEで動いてたんだっけ
OLEはアタマが付いていかなくて最後まで仕組みを理解できなかったな
463:デフォルトの名無しさん
15/01/07 09:04:35.98 7s8hjn62.net
いまはwebAPI全盛だな
464:デフォルトの名無しさん
15/01/09 00:37:23.61 5zBZY3tC.net
>>460
Linux上だと↓これだけあるかな
CORBA (Orbit2 GNOMEが使ってた)
XPCOM (Firefox)
UNO (OpenOffice.orgとその派生)
D-Bus
よく考えたらD-Busもコンポーネントモデルとも言えるしかなり普及してたよ
つう事でLinuxにはD-Busがあると言えるかな
465:デフォルトの名無しさん
15/04/04 22:47:14.80 ActYb9Xv.net
ActiveXコントロールは死んだ
URLリンク(www.artonx.org)
466:デフォルトの名無しさん
15/04/05 09:35:59.42 Y8CRHpsW.net
クソみたいな文章だな
世の中にひり出すまえに推敲しろ
467:デフォルトの名無しさん
15/04/07 19:42:58.87 qktNI4KL.net
COMは死なぬ。COMこそ人類の夢だからだ
468:デフォルトの名無しさん
15/04/07 23:02:11.04 Bchxa3Il.net
>>467
COMってマンコと同じなんだなw
469:デフォルトの名無しさん
15/04/08 19:44:02.14 5pE9Fokq.net
>>468
つまりは、都市伝説だといいたいのか
470:デフォルトの名無しさん
15/05/07 22:55:18.82 yfN65J+v.net
ActiveXコントロールがIEのためだけのものだという誤解を解く方法
471:デフォルトの名無しさん
15/05/18 20:25:05.77 oJXHJ+WI.net
次世代ブラウザEdge関係のCOMインターフェイスってどうなるのん?
472:デフォルトの名無しさん
15/05/28 17:06:44.48 qrMVO/gn.net
提供されないと思われ
473:デフォルトの名無しさん
15/05/28 17:47:37.58 e6ztGmIB.net
じゃあオートメーションでブラウザが必要なときはどうすんのさ
474:デフォルトの名無しさん
15/08/23 09:56:27.24 cZ8t4prN.net
Microsoft Edge、WebDriver サポートを発表
URLリンク(buildingedge.blogspot.jp)
475:デフォルトの名無しさん
15/08/23 10:34:40.27 hZLJ7+aO.net
スレリンク(tech板:433番)
476:デフォルトの名無しさん
15/08/28 22:37:54.12 opvHfyoQ.net
[Windows 10]UWPアプリでWebViewコントロールを使ってみた。
URLリンク(www.ka-net.org)
477:_
15/09/05 13:29:13.46 b0+gtEMA.net
a
478:デフォルトの名無しさん
15/11/10 12:17:00.27 aBSI5Ff+.net
初学者なんですが
HRESULT hageMethod( IHoge **ppHoge )
{
*ppHoge = NULL;
IHoge *pHoge;....
pHoge->QueryInterface(IID_PPV_ARGS(ppHoge ));
pHoge->Release();
}
このQueryInterfaceのところってなにやってるんですか?
同じ型のコピーを作ってるみたいな感じ?
pHogeを直接返せないとかですかね
479:デフォルトの名無しさん
15/11/11 20:40:15.01 RY0eiki2.net
HRESULTを返してない不完全なコードに見えるし
おれにもさっぱりわからんけど
480:デフォルトの名無しさん
15/12/03 11:05:36.09 IgpEN7lw.net
シェルのコンテキストメニューハンドラーを作ってるんですが、
ショートカットファイル(.lnk)を受け取ったとき、IDataObjectの中にリンクファイル自体じゃなくて
リンク先のファイルが入っています。
リンクファイル自体が欲しいんですが
この動作を制御することってできないんでしょうか?
481:片山博文MZ ◆T6xkBnTXz7B0
16/04/08 19:04:18.35 eaIwZ6It.net
URLリンク(github.com)
アンパンマン、新しい顔ができたよ!
482:デフォルトの名無しさん
16/04/08 20:11:51.90 BALYf2ws.net
>>481
URLリンク(katahiromz.web.fc2.com)
蟻さん好きなの?