トップページ⇒tech
986コメント350KB

COM の世界を斬る!

■ このスレッドは過去ログ倉庫に格納されています
0001IUnknownNGNG
ATL や MFC でラッピングされていない素顔の COM について語り合いましょう。
0685??NGNG
>>684 ifaststring.h をインクルードするだけじゃダメですか?
というか、本にはそう書いてあるので・・・

exportって「_declspec(dllexport)」のことですか?
一応、class IFastString や class FastString の間に挟んでみたりもしたのだが・・・

素人丸出しの質問で申し訳無いス。
0686デフォルトの名無しさんNGNG
http://alink3.uic.to/user/ranran2.html
0687デフォルトの名無しさんNGNG
リンカに、dllを作ったときにできたlibファイルを、教えておかないと逝けない。
それがいやなら、LoadLibraryからGetProcAddressの流れを。
0688??NGNG
>>687
使う側のアプリのプロジェクトの設定で
「リンク」タブのところの「オブジェクト/ライブラリモジュール」に
libファイル名を入れておけばOKですよね?(パスもちゃんと通ってる)
0689デフォルトの名無しさんNGNG
>>685
うん、ダメ。
ちょっとスレ違いになってきたな

http://pc3.2ch.net/test/read.cgi/tech/1036897197/
あたりでどうだ?
0690??NGNG
>>689 誘導されますた。thx!
0691デフォルトの名無しさんNGNG
IWebBrowserApp って何?
IWebBrowser2とはどう違うの?

IWebBrowserAppを取得する時は、IServiceProvider::QueryService
を使うというのも意味が分からないし。
サービス?なんじゃらほい。
0692いつでもどこでも名無しさんNGNG
それはもう古い
0693デフォルトの名無しさんNGNG
http://www.google.co.jp/search?q=cache:lfxMvBkuDT8C:www1.plala.or.jp/knambo/vc/usemore.html+IWebBrowserApp&hl=ja&ie=UTF-8
0694デフォルトの名無しさんNGNG
>>693
> IWebBrowserとIWebBrowserAppがそれであり、前者はコントロール、
> 後者はアプリケーションである。
つまり、サービス=アプリケーション、ってこと?
0695初心者NGNG
所望のサーバーとか所望のインターフェースってどうやって探してますか

今のところ↓とか使ってます
C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\Win32API.csv
0696デフォルトの名無しさんNGNG
dat落ち回避
0697デフォルトの名無しさんNGNG
NdrConformantStructMarshall()
NdrConformantStructUnmarshall()

このAPIの使い方知ってる?
MSDNにも記述ないんだけど・・・。
0698デフォルトの名無しさんNGNG
>>697
使い方はわからないんだけど、それってCOMとは関係ないような...
COMより低レベルのraw RCPで使うものだと思います。
0699697NGNG
うんとですね。
オープン配列/オープン構造体を
カスタムマーシャリングしようとしてるんです。
MIDLのはき出すproxy/stubコードでこのAPIを使っていて、
カスタム化する際にこのAPIを使用しなくちゃいけないと
思うんですけど・・・。

って事なんです。
0700デフォルトの名無しさんNGNG
キリ番Get age! (・∀・)
0701デフォルトの名無しさんNGNG
現在プログラム板老舗スレ第4位!
0702デフォルトの名無しさんNGNG
>>697
外してたらスマソ。MBVカスタムマーシャリングだけが目的なら(構造体とか配列
ってことでそう思ってるわけなんだけど)、直接RPCのAPIを叩かなくても、IMarshal
をオーバーライドしてやって、ストリームへのシリアライズ/デシリアライズ処理を
記述してやればいいんじゃないかな。
#ようはその構造体や配列自体をインターフェイスとして出してやれば良いのではと。
#って、こんな記述で意図がわかってもらえれば楽でいいけどな。
0703デフォルトの名無しさんNGNG
煽りではないのですが、COM+サービス(トランザクション)とパフォーマンス以外で.NETよりCOMを好む理由は何でしょうか?
C++でCOMを使ってたときは、言語との透過性、文字列操作の煩雑さ、エラー処理の言語との不一致などコンポーネントを作ろうとしたのを挫折した覚えがあります.
既存資産の利用を含めて、すべてを置き換えるとはおもいませんが、.NETのほうが私的にはプログラムに使いたく思ってます.仕事あるかは知りませんが…
そんな私に意見お願いします.
0704デフォルトの名無しさんNGNG
>>703
ゆくゆくはその多くが置き換わるものと思ってるけど、
いきなり全てなくなるようなことはない。これはいいよね?
明らかなことは.netからそれらネイティブなコードを
呼び出そうとした場合、C関数をDLLに詰め込んだものよりも
COM形式の方が親和性が高いということ。
ネイティブのコードに対する需要がまだまだあることを考えたら
COMは未だに必要だし、理解しておくべき技術でもある。
こんな風に単純に思ってますがどうでしょうか?
0705デフォルトの名無しさんNGNG
>>703
OpenDocを使いましょう。
0706703NGNG
>>704 同意.
コンポーネント作る簡便さは.NETに多くの点で軍パイがあがるのでしょうか?
COMでないとという必要があれば知りたいので…お願いします.
0707デフォルトの名無しさんNGNG
>>706
>COMでないとという必要
おれの知る限りじゃ、ない
0708デフォルトの名無しさんNGNG
RogersenのCOMの参考書には、VBAからC++で書かれたDLL内の関数を呼び出せ
る、とありましたけど、どなたかいい参考書ご存知ありませんか?よろしくおながいし
ます。
0709デフォルトの名無しさんNGNG
>>708
超マルチうざい
0710デフォルトの名無しさんNGNG
>>709
ごめんね。でも、情報を得るには仕方がない・・・・・
0711デフォルトの名無しさんNGNG
> でも、情報を得るには仕方がない・・・・・
ハァ?
0712デフォルトの名無しさんNGNG
>>710
氏ね。
0713デフォルトの名無しさんNGNG
>>710
何いってんの?
中学生?
0714デフォルトの名無しさんNGNG
それにしても、マルチポストとか目ざとくよく見つけるよな…。
0715デフォルトの名無しさんNGNG
>>674
厳密にはDllRegisterServer, DllUnregisterServerはCOM DLLにとって必須ではない。
インストール時の利便性を考えてRegSvr32とかで自己登録できるようにしてるだけ。
最近のWindows Installerを使ったSETUPではSETUPプログラムが直接レジストリに
書き込みする場合が多くなってきてるみたいだし、実際登録用の関数をエクスポート
してないCOM DLLも存在する。

本当に必要なのはDllGetClassObject, DllCanUnloadNowのほうだ。これが無ければ
COM DLLとして成立しない。

COM DLLは、CLSIDというGUIDを通じてDLLフルパスを探索てDLLをロード、
DllGetClassObjectでクラスファクトリを作成して、CreateInstane()メソッドから連鎖的に
オブジェクトのインスタンスを作成してゆくタイプのDLL。
普通のDLLは、必要な機能をすべて関数として仕立ててそれをずらーっとエクスポート
してるタイプ。Dependency Walkerで見比べてみるとよくわかるよ。
0716674NGNG
>>715
>厳密にはDllRegisterServer, DllUnregisterServerはCOM DLLにとって必須ではない。

御意
0717デフォルトの名無しさんNGNG
>>715
>>710です。なんか、思い出しました。2年前にそんなことしてました。なつかしや〜。
結局、一番単純な古典的DLLを作って、VBAから呼ぶ路線にしたいと思います。
VBAからWin32APIを使うために必要は知識を網羅した(?)参考書も、他スレで教えてもらいました。
一番単純な古典的DLLで作ったほうが、Solarisなんかに計算エンジンを移すときに、楽そう。
それにしても、やっぱりみなさん詳しいですね。ぼくは、ホントアマチュアだから。
これからも時々お邪魔します。
(^ー^)ノ ヨロシク オネガイシマス
0718bloomNGNG

http://www.agemasukudasai.com/bloom/
0719COM初心者NGNG
素朴な疑問なのですが、コンポーネントサービスでアプリケーションを
右クリックし、詳細設定タブを開くとデバッグという項目があってデバッ
ガ内で実行するというチェックボックスとデバッガパスという入力フィー
ルドがあります。これはどのように使うのでしょうか?これを使ってCOM+
のデバッグがもっと的確にできるようになるといいのですが。
0720デフォルトの名無しさんNGNG
>>693の
>Internet Explorerのイベントを処理する (検討中)
のところが知りたいんだけど
どっか参考資料ない?
0721名無し@沢村NGNG
>>720
MFCのCHtmlViewのソース。
0722720NGNG
>>721
見たけど使ってないぞ
0723名無し@沢村NGNG
>>722
どこ見てるんだ。
BEGIN_EVENTSINK_MAPのあたりを見ればだいたい分かるだろ。
0724名無し@沢村NGNG
>>722
おとなしく、ここでも見とけ。
ttp://www.nitoyon.com/vc/tips/ie_component.htm
0725722NGNG
>>723,724
すいません。
0726デフォルトの名無しさんNGNG
comってcommand.com とかのcomということで委員ですか
0727デフォルトの名無しさんNGNG
激しく既出。
0728デフォルトの名無しさんNGNG
>>727
→同じ
 違う

?
0729デフォルトの名無しさんNGNG
↑

?
0730COM初心者NGNG
どなたか教えてください〜
0731デフォルトの名無しさんNGNG
Component Object Model
0732デフォルトの名無しさんNGNG
あげ
0733名無し@沢村NGNG
俺はCOMに真剣に取り組もうとしたことがあったが、レジストリに登録云々のことろで面倒くさくなってやめたね。
0734デフォルトの名無しさんNGNG
>>733
関数化すればいいやん
ただそれだけのことを何で?
0735デフォルトの名無しさんNGNG
あれ、沢村じゃん
いかん、容易に釣られてもた

鬱だ氏のう
0736IP記録実験NGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0737デフォルトの名無しさんNGNG
「2chでは裏でIP記録されています。IPを抜かれたくなければ
セキュリティガードに…」

というコピペを流行らせる会 会長↓
0738デフォルトの名無しさんNGNG
そして歴史に刻まれていく
0739デフォルトの名無しさんNGNG
普通に考えて、増えると思うなー。子供世代がPC買って参入してくるから。老人はもともと少ないからなかなか自然減少しないし。
鯖のほうで制限しない限り。
0740デフォルトの名無しさんNGNG
>>326
ネタですよね?
0741デフォルトの名無しさんNGNG
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。          
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
   
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
  
ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。
0742デフォルトの名無しさんNGNG
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0743デフォルトの名無しさんNGNG
すごいラインナップだな(藁
>tmp鯖
0744デフォルトの名無しさんNGNG
>>552
ご愁傷様。
0745デフォルトの名無しさんNGNG
つまらないね。

トリップだってさ
全然ボツ。
0746デフォルトの名無しさんNGNG
>>145
掲示板の一番下が「2ちゃんねる20030107a」
ってなってる板じゃなかったかな?
0747デフォルトの名無しさんNGNG
>>499
漏れが恐いのは、今後の他の裁判だ。
まだいくつか残ってるんでしょ?
0748デフォルトの名無しさんNGNG
159は尊師
0749デフォルトの名無しさんNGNG
>>649
誤爆じゃなくて、ここの前スレのコピペだと思われ。
0750デフォルトの名無しさんNGNG
するからなー。
0751デフォルトの名無しさんNGNG

鷺の質問・雑談スレに移動して下さいね。
0752デフォルトの名無しさんNGNG

シミュレート
0753デフォルトの名無しさんNGNG
ひろゆき君。
メルマガまってるよ。
0754デフォルトの名無しさんNGNG
スレタイの日本語、微妙におかしいね。
0755デフォルトの名無しさんNGNG
news2鯖に入った瞬間撤退すんなよw>コピペ荒らし
0756デフォルトの名無しさんNGNG
2ちゃんねるのオランダ引越しまだぁ〜
0757デフォルトの名無しさんNGNG
まあ、あnグラな話やりたきゃ他逝けってことかなぁ。
雑談、学問、技術系な板には関係ないな。
0758デフォルトの名無しさんNGNG
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0759デフォルトの名無しさんNGNG
知らなかった(゚д゚)つφ.,._., メモメモ
0760デフォルトの名無しさんNGNG
事実・嘘をとわず公衆の面前でその人を侮辱したりした場合です。
0761デフォルトの名無しさんNGNG
まあ,ここでどんなに崇高な理想ブチ上げてるヤツよりも,
実際カラダ張ってるのはひろゆきなわけだからな……。
動機はよくわからないが。
0762デフォルトの名無しさんNGNG
一秒でも早い閉鎖を日々祈ってます( ´∀`)y-~~
0763デフォルトの名無しさんNGNG
内Pのレッド吉田、頼むから「今日のレッド」の時に
ネタ帳見ながらやるのやめてくれ、一応カネ貰ってんだろ
0764デフォルトの名無しさんNGNG
大阪JCネタ
0765デフォルトの名無しさんNGNG
それもどうかと思うけどな(^_^;)
やはり「書き込むことに責任あることを認識しろ」かと。

つーか、まもなく6億〜
0766デフォルトの名無しさんNGNG
きねん
0767デフォルトの名無しさんNGNG
2ちゃんの運営側の簡単なお財布事情を知りたいのですが、
どこか詳しい解説ページ等はございますでしょうか?
0768デフォルトの名無しさんNGNG
ヽ(*`Д´)ノナンダトウ!
0769デフォルトの名無しさんNGNG
Nyの掲示板がもうちょっと使いやすければねぇ。
特定の鯖に依存しないP2Pは理想的でありんす。
あれがWebのあるべき姿でありましょう。
0770デフォルトの名無しさんNGNG
いや、最近のニュー速は本当に良くなってきたと思うよ。
ニュース速報板だからね。
0771デフォルトの名無しさんNGNG
・・・横槍。

削除依頼を内容証明以外の方法で行っても有効ですが、条理が根拠ではありません。
意思表示の一般原則であり自明のことです。
免責の対象にはならないから安心してください。
0772デフォルトの名無しさんNGNG
やっとhtml化だ、過去ログが読める
がんばってください
0773山崎渉NGNG
(^^)
0774デフォルトの名無しさんNGNG
4nd・・・天然ですか?>1
0775山崎渉NGNG
(^^)
0776デフォルトの名無しさんNGNG
浮上!!
0777山崎渉NGNG
(^^)
0778デフォルトの名無しさんNGNG
誰かこれからのCOMと.NETについて教えてください.
まだCOMを学ぶ価値はありますか.
.NETとどう関わりあっているのでしょうか.
0779デフォルトの名無しさんNGNG
>>778
価値が有るか無いかで言えば無いと思う。現在の.NETでは
一応、COMへのインターフェイスを用意されていて過去の資産を
利用出来るようにしているけど、あくまでも一時的な処置であり、
MSの思惑としては今までCOMでやってきた事も全て、.NETで行いたい
とかんがえているはずだから。
0780デフォルトの名無しさんNGNG
>>779
でも、とりあえず出来る出来ないで言えば、できた方がいいのでは。
Webシステム等のクライアント部品として、ActiveX使う事もあるでしょ?

#...ま、必ず覚える必要があるって訳でも無いが。
0781デフォルトの名無しさんNGNG
まあいわゆるひとつの「必要になるまでほっとく」というやつですな
暇つぶしにはなるだろうけど、必要に駆られないと身にならんと思う
0782778NGNG
みなさんありがとうございました.
COMも横目で眺めつつ.NETの勉強してみます.
0783デフォルトの名無しさんNGNG
別スレで回答がないのでこちらに・・・

------
 LPITEMLISTを解放するために手順が必要になってしまいます。 
まずIMallocっていうインターフェースを持って来なくっちゃならない。 
名前から想像できる通り、IMalloc ってのは COM ベースのメモリ
アロケータ(メモリの確保/解放を実行する)のようなもので結構
いろんなところで登場してくる。 まさか API ひとつだけですんじゃ
うようなもののために COM 使うとは思わなかったけど、要求され
てるんでしょうがない。
http://www.bd.wakwak.com/~opapa/VC/API/SHBrowseForFolder.htm
-------

この辺のプログラミングを理解するには、どんな本が
適切でしょうか? Win32 API側で確保したメモリを
アプリ側で解放するらしいのですが、説明を読んでも
やり方が今一つわからずに使えません。

コモンコントロールなんかのWinプログラミングの基礎本
(by ハーバードシルト)と、柏原さんの「MFCによる
Winプログラミングの基礎知識」は読みました。

>>68は、おいらが読むのに適切でしょうか?
抽象的な概念だけじゃなく、実際のコード書きに
直接役立ちますか?


0784名無し@沢村NGNG
>>783
ヌヒよ、今日は特別に便利なAPIを教えてやろう。
それはCoTaskMemFree()だ。
■ このスレッドは過去ログ倉庫に格納されています