COM の世界を斬る!
■ このスレッドは過去ログ倉庫に格納されています
0001IUnknown
NGNG0709デフォルトの名無しさん
NGNG超マルチうざい
0710デフォルトの名無しさん
NGNGごめんね。でも、情報を得るには仕方がない・・・・・
0711デフォルトの名無しさん
NGNGハァ?
0712デフォルトの名無しさん
NGNG氏ね。
0713デフォルトの名無しさん
NGNG何いってんの?
中学生?
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG厳密には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で見比べてみるとよくわかるよ。
0717デフォルトの名無しさん
NGNG>>710です。なんか、思い出しました。2年前にそんなことしてました。なつかしや〜。
結局、一番単純な古典的DLLを作って、VBAから呼ぶ路線にしたいと思います。
VBAからWin32APIを使うために必要は知識を網羅した(?)参考書も、他スレで教えてもらいました。
一番単純な古典的DLLで作ったほうが、Solarisなんかに計算エンジンを移すときに、楽そう。
それにしても、やっぱりみなさん詳しいですね。ぼくは、ホントアマチュアだから。
これからも時々お邪魔します。
(^ー^)ノ ヨロシク オネガイシマス
0718bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0719COM初心者
NGNG右クリックし、詳細設定タブを開くとデバッグという項目があってデバッ
ガ内で実行するというチェックボックスとデバッガパスという入力フィー
ルドがあります。これはどのように使うのでしょうか?これを使ってCOM+
のデバッグがもっと的確にできるようになるといいのですが。
0720デフォルトの名無しさん
NGNG>Internet Explorerのイベントを処理する (検討中)
のところが知りたいんだけど
どっか参考資料ない?
0722720
NGNG見たけど使ってないぞ
0725722
NGNGすいません。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG→同じ
違う
?
0729デフォルトの名無しさん
NGNG?
0730COM初心者
NGNG0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733名無し@沢村
NGNG0734デフォルトの名無しさん
NGNG関数化すればいいやん
ただそれだけのことを何で?
0735デフォルトの名無しさん
NGNGいかん、容易に釣られてもた
鬱だ氏のう
0736IP記録実験
NGNGhttp://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セキュリティガードに…」
というコピペを流行らせる会 会長↓
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNG鯖のほうで制限しない限り。
0740デフォルトの名無しさん
NGNGネタですよね?
0741デフォルトの名無しさん
NGNG逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。
0742デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 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ご愁傷様。
0745デフォルトの名無しさん
NGNGトリップだってさ
全然ボツ。
0746デフォルトの名無しさん
NGNG掲示板の一番下が「2ちゃんねる20030107a」
ってなってる板じゃなかったかな?
0747デフォルトの名無しさん
NGNG漏れが恐いのは、今後の他の裁判だ。
まだいくつか残ってるんでしょ?
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG誤爆じゃなくて、ここの前スレのコピペだと思われ。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG鷺の質問・雑談スレに移動して下さいね。
0752デフォルトの名無しさん
NGNGシミュレート
0753デフォルトの名無しさん
NGNGメルマガまってるよ。
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG雑談、学問、技術系な板には関係ないな。
0758デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG実際カラダ張ってるのはひろゆきなわけだからな……。
動機はよくわからないが。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGネタ帳見ながらやるのやめてくれ、一応カネ貰ってんだろ
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGやはり「書き込むことに責任あることを認識しろ」かと。
つーか、まもなく6億〜
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGどこか詳しい解説ページ等はございますでしょうか?
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG特定の鯖に依存しないP2Pは理想的でありんす。
あれがWebのあるべき姿でありましょう。
0770デフォルトの名無しさん
NGNGニュース速報板だからね。
0771デフォルトの名無しさん
NGNG削除依頼を内容証明以外の方法で行っても有効ですが、条理が根拠ではありません。
意思表示の一般原則であり自明のことです。
免責の対象にはならないから安心してください。
0772デフォルトの名無しさん
NGNGがんばってください
0773山崎渉
NGNG0774デフォルトの名無しさん
NGNG0775山崎渉
NGNG0776デフォルトの名無しさん
NGNG0777山崎渉
NGNG0778デフォルトの名無しさん
NGNGまだCOMを学ぶ価値はありますか.
.NETとどう関わりあっているのでしょうか.
0779デフォルトの名無しさん
NGNG価値が有るか無いかで言えば無いと思う。現在の.NETでは
一応、COMへのインターフェイスを用意されていて過去の資産を
利用出来るようにしているけど、あくまでも一時的な処置であり、
MSの思惑としては今までCOMでやってきた事も全て、.NETで行いたい
とかんがえているはずだから。
0780デフォルトの名無しさん
NGNGでも、とりあえず出来る出来ないで言えば、できた方がいいのでは。
Webシステム等のクライアント部品として、ActiveX使う事もあるでしょ?
#...ま、必ず覚える必要があるって訳でも無いが。
0781デフォルトの名無しさん
NGNG暇つぶしにはなるだろうけど、必要に駆られないと身にならんと思う
0782778
NGNGCOMも横目で眺めつつ.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ヌヒよ、今日は特別に便利なAPIを教えてやろう。
それはCoTaskMemFree()だ。
0785デフォルトの名無しさん
NGNGOLEのアロケータ(CoTaskMemFree)とシェルのアロケータが今後も一致するという保証は無い
0786名無し@沢村
NGNGMSDNのCoTaskMemAlloc()の説明には、
Allocates a block of task memory in the same way that IMalloc::Alloc does.
て書いていますが、それでもだめですか? どうか、教えて下されー。
0787デフォルトの名無しさん
NGNGの実装が同じである保証がどこにある?
0788名無し@沢村
NGNGVC7付属のshlobj.hには下記のような説明があるのですが、それでもだめですか?
教えて下されー。
// Notes:
// In next version of Windowso release, SHGetMalloc will be replaced by
// the following macro.
//
// #define SHGetMalloc(ppmem) CoGetMalloc(MEMCTX_TASK, ppmem)
0789デフォルトの名無しさん
NGNGVC6のshlobj.hでもPSDKOct2002のshlobj.hでもそう書いてある
沢村様に論破された漢として語り継がれそうだ
0790デフォルトの名無しさん
NGNGありがとうございます。
CFolderDialog::~CFolderDialog()
{
CoTaskMemFree(lpItemIDList);
}
という風にデストラクタに実装してみました。
デバッカで追ってみたのですが、CoTaskMemFree実行
直後はlpItemIDListも、その参照先も特に変化ないのですが、
こんなもんなんですかね?
きちんと解放されたかどうか確認する方法はありますか?
0791名無し@沢村
NGNGそれはCOMより新しいのか?
COMでやっとアプリがつくれるようになった俺としては、そういうのが出てくると非常に困る!
NETで検索してみたが出てくる件数が多すぎてわからなかった…
ヌヒ等よ、教えてはくださらぬか?
0792デフォルトの名無しさん
NGNGおれもつい半年前にやっとのことでCOM開発できるようになったんだが、
.NETをやってみて衝撃を受けたよ。
もうCOMなんてやっててもニーズがない。
はっきりそう分かった。
.NETならCOMの10倍は楽にCOMより使いやすいコンポーネントが作れる。
時代の流れだと思って.NETの勉強をした方がいいと思う。
ショックはでかいと思うけどね、、おれがそうだったように。。。
でもCOMの知識があるとないとでは差は大きいから無駄ではない。
COMを知らない香具師はどれだけ.NETの功績か大きいか絶対わかんないだろうな。
0793名無し@沢村
NGNGNETの解説したページがあれば教えてはくださらぬか?
>.NETならCOMの10倍は楽にCOMより使いやすいコンポーネントが作れる。
性能もCOMよりいいのか?ならCOMは意味ないじゃん!!
NETって意味が広すぎて検索しても出てくる件数が多すぎてわからぬのよ…
ヌヒよ、教えてはくださらぬか?
0794デフォルトの名無しさん
NGNGこっから辿ってソース嫁。これ最強。
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG見捨てることになる罠。
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNGActiveX 使いたくて、.NET憶えたえた後にいまさら COM 何ぞ勉強中なんだけど。
0799デフォルトの名無しさん
NGNG基本的な事(しかも厳密にはCOMの質問ではない)かもしれませんが、
質問があります。
BSTRな文字列を使用する場合はにSysAllocStringを使用しますが、
こいつをSysFreeStringするのは誰がやらなければいけないのでしょうか?
たとえば、
コンポーネントのメソッドに
HogeA(BSTR strHoge)
があった場合、コンポーネント内部でSysFreeStringを行う必要があるのでしょうか?
また、コンポーネントのメソッドに
HogeB(BSTR* strHoge)
があった場合、(値を返す場合)SysFreeStringが行うのでしょうか?
また、IConnectionPointなイベントで、HogeAのようなイベントがあった場合、
イベントを受け取ったクライアント側でSysFreeStringを行うのでしょうか?
すいません、ご教授願います。
0800デフォルトの名無しさん
NGNGHogeA(BSTR host);
呼び出し側が解放
HogeB(BSTR* hoge);
返送するなら、呼ばれた側が解放、確保。呼び出し側で解放
0801800
NGNG[out]BSTR* hoge
なら、呼ばれた側は解放せずに確保
[in,out]BSTR* hoge
なら、解放してから確保。
0802799
NGNGレスありがとうございます。
大変参考になりました、これで安心して作成できます。
しかし皆さんMSDNの解説ソースをよく発見できますねぇ(失礼な言い方ですが変な意味じゃないです)
自分なんかは膨大な情報量ですぐにソースが発見できません。
やっぱり英語力とかでしょうか・・・・
ありがとうございました。
0803デフォルトの名無しさん
NGNGThe problem was, when Microsoft added support for IClassFactory2, they added the QueryInterface for IClassFactory2 after the existing code that queried for IClassFactory.
・・・
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNGBC++5.5 でCOM関連のプログラミングってできますか?
0808デフォルトの名無しさん
NGNG音楽ギフト券の全プレあり
http://camellia16.fc2web.com/ongakudb.html
0809
NGNGWin32 API質問スレからこちらを紹介されました。
COM で QI して得たポインタが サスペンド/ハイバネーションを行なうと、無効になる
ことがあります。色々調べたら 6分通信がされなかったらポインタを無効にする仕様だ
そうですが、うまい回避策(workaround)を知っていたら教えて下さい。
ちなみに QI したポインタを全部覚えておいて、レジュームメッセージを受けとって、
Release() -> QI しても、先にポインタを使われることがあって、だめみたい。
(´・ω・`)
■ このスレッドは過去ログ倉庫に格納されています