COM
■ このスレッドは過去ログ倉庫に格納されています
2007/01/10(水) 20:13:15
いざ語れや
2007/04/26(木) 19:14:00
よくない。WSAEventSelect使えって話でそ。
2007/04/27(金) 10:49:59
DLLに汁
2007/04/28(土) 18:07:15
DCOMの実装に関する参考書や参考サイト知りませんか?
60デフォルトの名無しさん
2007/04/28(土) 18:31:14 ↑クライアントとサーバ両方の実装についてです。
言語は問わないのですが、できればVCについてお願いします。
言語は問わないのですが、できればVCについてお願いします。
2007/04/29(日) 02:27:45
>>51
なにぃっ、Mageだと!?貴様鉄道板住人だな!
なにぃっ、Mageだと!?貴様鉄道板住人だな!
62デフォルトの名無しさん
2007/05/03(木) 12:01:20 COMスレってなんでこんなに過疎ってるの?
それについて議論しよう
それについて議論しよう
2007/05/03(木) 12:01:47
ネットでCOMについて記述してるサイトもあんま見ない
2007/05/03(木) 12:35:53
COMに比べると似たようなことはドトネトの方が簡単にできるから
もう存在意義がなくなってんじゃないの?
もう存在意義がなくなってんじゃないの?
2007/05/03(木) 12:38:08
COMを使う舞台がエクセルVBAなんかに移ってるからな
2007/05/04(金) 00:28:42
なんで?comサーバでの利用機会とか無いの?
アプリ間でデータ交換とか外部アプリへの機能提供とかの場面で利用価値あると思うけど
まあ、代替手段は色々あるし、わざわざムズい技術を覚えてまでcomを利用する必要もないか
特に開発人口が多い業務系開発だったら尚更だな
アプリ間でデータ交換とか外部アプリへの機能提供とかの場面で利用価値あると思うけど
まあ、代替手段は色々あるし、わざわざムズい技術を覚えてまでcomを利用する必要もないか
特に開発人口が多い業務系開発だったら尚更だな
2007/05/04(金) 00:43:47
業務系ならなおさら何でもエクセルでやりたがる
もしくはCOBOL
もしくはCOBOL
2007/05/04(金) 14:13:48
PlatformSDKにもMIDLはあることだしSxSアセンブリでのCOMならいくらかハードルも低いし、C++での共有ライブラリ作成という観点でもう少しひろまってもいい気がするんだけどな。
ActiveXでもOLEでもなくDLL+αとしてのCOMっていう観点でさ。
なんにしてもMFCやATLで新しくコンポーネント作るってのはなくなっていくんだろうな。せいぜいVB6でか.NETアセンブリからタイプライブラリ作る位になるのか。
ActiveXでもOLEでもなくDLL+αとしてのCOMっていう観点でさ。
なんにしてもMFCやATLで新しくコンポーネント作るってのはなくなっていくんだろうな。せいぜいVB6でか.NETアセンブリからタイプライブラリ作る位になるのか。
69デフォルトの名無しさん
2007/05/07(月) 18:10:27 ATLでアウトプロセスサーバを作っているのですが、
親ウィンドウのメッセージループから自exe内のCOMオブジェクトを
どのように参照すればよいかわかりません。
マクロで展開されたポインタがどこかにあると思うのですが
どのように参照すればよいでしょうか?
ATL初心者なので質問の表現がおかしいかも知れませんが
よろしくお願いします。
親ウィンドウのメッセージループから自exe内のCOMオブジェクトを
どのように参照すればよいかわかりません。
マクロで展開されたポインタがどこかにあると思うのですが
どのように参照すればよいでしょうか?
ATL初心者なので質問の表現がおかしいかも知れませんが
よろしくお願いします。
7069
2007/05/07(月) 19:26:22 デバッガで見てみたら
Choge *a=(Choge*)&ObjectMap[n];
で参照できました。
で、いいですか? ←直感的にやったらできたので不安ですが・・・
Choge *a=(Choge*)&ObjectMap[n];
で参照できました。
で、いいですか? ←直感的にやったらできたので不安ですが・・・
2007/05/08(火) 03:09:34
いいよ〜いいよ〜いいよ〜
72デフォルトの名無しさん
2007/05/08(火) 12:19:59 もー。ATLイベントの実装の仕方がいまいちわからん。
2007/05/08(火) 12:45:22
イベント出す側だったらウィザードが殆どやってくれるからあまり意識したことないけど?
74デフォルトの名無しさん
2007/05/08(火) 13:32:57 イベント出す側なんですが、
クラスビューからメソッドと接続ポイントを追加したんですが
xxxxx.idlとxxxxxCP.hに空のクラスを作るだけで
メソッドの雛形作ってくれないんですよ。
最初のウィザードのときシンプルオブジェクトで作成してるからでしょうか?
クラスビューからメソッドと接続ポイントを追加したんですが
xxxxx.idlとxxxxxCP.hに空のクラスを作るだけで
メソッドの雛形作ってくれないんですよ。
最初のウィザードのときシンプルオブジェクトで作成してるからでしょうか?
2007/05/08(火) 13:42:03
ATLシンプルオブジェクトを追加するとき"接続ポイント"にチェックいれて作れば
クラスビューに IHoge と Libの下に _IHogeEvents が出来ているでしょ
イベントメソッド追加したければ _IHogeEventsで右クリック - メソッド追加で追加できるよ
メソッド追加した後、実装クラス (CHoge) の方で右クリック - 接続ポイントの追加をもう一回
やるのを忘れんな
クラスビューに IHoge と Libの下に _IHogeEvents が出来ているでしょ
イベントメソッド追加したければ _IHogeEventsで右クリック - メソッド追加で追加できるよ
メソッド追加した後、実装クラス (CHoge) の方で右クリック - 接続ポイントの追加をもう一回
やるのを忘れんな
76デフォルトの名無しさん
2007/05/08(火) 14:49:43 で、できました。
>接続ポイントの追加をもう一回やるのを忘れんな
もう一回やったらできました・・・なぜもう一回なのかわかりませんか゛
とにかく今日一日試行錯誤していたのが「もう一回」のキーワードで解決しました。
>>75さんになにかごちそうしたい気持ちでいっぱいです。
>接続ポイントの追加をもう一回やるのを忘れんな
もう一回やったらできました・・・なぜもう一回なのかわかりませんか゛
とにかく今日一日試行錯誤していたのが「もう一回」のキーワードで解決しました。
>>75さんになにかごちそうしたい気持ちでいっぱいです。
2007/05/08(火) 16:24:46
極稀に2chも役に立ったり立たなかったりする
78デフォルトの名無しさん
2007/05/08(火) 17:48:04 もう一役お願いします。
イベントを作成したのですが、イベントがクライアントに届きません。
Fire_Hogeを呼びだすときデバッガで追ったら
int nConnections = m_vec.GetSize(); で0が帰ってきて
その下のループの中のpDispatch->Invokeまでいきません。
ソフトの構成としてはアウトプロセスサーバ.exeからブラウザのjavascriptへイベントを発生したいのですが、上記の通りとなり、イベントを渡すことができませんでした。
m_vecが接続を管理するらしいのですが、javascriptからの接続がうまくないのでしょうか?
接続の方法としては<OBJECT>タグにCLSIDを埋め込むようにしてjavascriptでサーバ.exeのメソッドを呼び出すことは成功しています。
イベントを作成したのですが、イベントがクライアントに届きません。
Fire_Hogeを呼びだすときデバッガで追ったら
int nConnections = m_vec.GetSize(); で0が帰ってきて
その下のループの中のpDispatch->Invokeまでいきません。
ソフトの構成としてはアウトプロセスサーバ.exeからブラウザのjavascriptへイベントを発生したいのですが、上記の通りとなり、イベントを渡すことができませんでした。
m_vecが接続を管理するらしいのですが、javascriptからの接続がうまくないのでしょうか?
接続の方法としては<OBJECT>タグにCLSIDを埋め込むようにしてjavascriptでサーバ.exeのメソッドを呼び出すことは成功しています。
2007/05/08(火) 18:41:37
javascriptからEventをAdviseしてあげた?
2007/05/08(火) 20:21:50
>>78
Fire_Hoge()の呼び出しってどうやってます?
多分IHogeの実装クラスCHogeのインスタンスから呼び出してると思いますが、
COMクライアントが作ったCHogeインスタンスから呼ばないとFireできないっす
Fire_Hoge()の呼び出しってどうやってます?
多分IHogeの実装クラスCHogeのインスタンスから呼び出してると思いますが、
COMクライアントが作ったCHogeインスタンスから呼ばないとFireできないっす
8180
2007/05/08(火) 20:30:56 補足:
インターフェースをシングルトンにしとけば作成されるインスタンスは必ず一つなので、
いっそシングルトンにしてしまうとか
つ DECLARE_CLASSFACTORY_SINGLETON
ただこれをやると以下の問題も・・・
つ http://support.microsoft.com/kb/198834/ja
後は泥臭いやり方しか知らない
インターフェースをシングルトンにしとけば作成されるインスタンスは必ず一つなので、
いっそシングルトンにしてしまうとか
つ DECLARE_CLASSFACTORY_SINGLETON
ただこれをやると以下の問題も・・・
つ http://support.microsoft.com/kb/198834/ja
後は泥臭いやり方しか知らない
2007/05/08(火) 21:07:42
こんな感じなんですが・・・ EventをAdviseとはどのようなことをするのでしょうか?
<SCRIPT language="javascript" for="HogeID" event="HogeEvents(a, b)">
alert(a);
</SCRIPT>
<OBJECT ID="HogeID" CLASSID="CLSID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
</OBJECT>
Adviseをお願いします。
<SCRIPT language="javascript" for="HogeID" event="HogeEvents(a, b)">
alert(a);
</SCRIPT>
<OBJECT ID="HogeID" CLASSID="CLSID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
</OBJECT>
Adviseをお願いします。
84デフォルトの名無しさん
2007/05/08(火) 21:14:492007/05/08(火) 21:21:59
>>80
書き忘れましたが、Fire_Hoge()の呼び出しはは
ブラウザ(HTMLに記述したjavascript)からCHoge.exeのメソッドを呼び出して
呼び出されたメソッドの中でFire_Hoge()を呼んでいます。
書き忘れましたが、Fire_Hoge()の呼び出しはは
ブラウザ(HTMLに記述したjavascript)からCHoge.exeのメソッドを呼び出して
呼び出されたメソッドの中でFire_Hoge()を呼んでいます。
86デフォルトの名無しさん
2007/06/11(月) 15:36:03 質問させてください。
アウトプロセスサーバで
クライアントから呼出して配列データ(BSTR)を取得するメソッドを作成しています。
このときサーバ側ではSafeArrayCreate()でクライアントに渡す
配列データを作成しますが、この配列データはSafeArrayDestroy()で
解放する必要はないであってますか?
根拠としてメソッド内で解放するとクライアントに渡せない。
デバッガで確認したところSafeArrayCreate()のポインタをstaticで保持して
次にメソッドを呼び出したら、ポインタが指しているメモリが壊れていた
(=勝手に解放してくれた)。
ということからこのような結論に至ったのですが、間違ってないでしょうか?
アウトプロセスサーバで
クライアントから呼出して配列データ(BSTR)を取得するメソッドを作成しています。
このときサーバ側ではSafeArrayCreate()でクライアントに渡す
配列データを作成しますが、この配列データはSafeArrayDestroy()で
解放する必要はないであってますか?
根拠としてメソッド内で解放するとクライアントに渡せない。
デバッガで確認したところSafeArrayCreate()のポインタをstaticで保持して
次にメソッドを呼び出したら、ポインタが指しているメモリが壊れていた
(=勝手に解放してくれた)。
ということからこのような結論に至ったのですが、間違ってないでしょうか?
2007/06/11(月) 15:52:36
解放しない。解放したら返せないからね。
今回outprocだから、正確にはマーシャラーが適当にシリアライズしたのち
解放してくれるのでユーザのコードでは(inprocの場合と同様)解放しなくて良い、
というような動作。
逆に「取得した側」は自分で解放する。
今回outprocだから、正確にはマーシャラーが適当にシリアライズしたのち
解放してくれるのでユーザのコードでは(inprocの場合と同様)解放しなくて良い、
というような動作。
逆に「取得した側」は自分で解放する。
88デフォルトの名無しさん
2007/06/11(月) 16:04:0089デフォルトの名無しさん
2007/07/08(日) 15:55:55 COMについての入門書がありましたら、紹介してくれないでしょうか?
なにせ情報や サンプルがなかなか見当たらないので
なにせ情報や サンプルがなかなか見当たらないので
2007/07/09(月) 09:14:09
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881356992
これはまぁわかりやすい方。
これはまぁわかりやすい方。
91デフォルトの名無しさん
2007/07/10(火) 20:39:52 わかりやすくなくていいからIEが作れるぐらい
詳しい本は?
詳しい本は?
2007/07/11(水) 09:08:04
2007/07/11(水) 20:47:11
いや、IEコンポを使うんじゃなくて、IEコンポ自体を作りたい。
IWebBrowser2を実装して、ActiveXコントロールをホストしたい。
IWebBrowser2を実装して、ActiveXコントロールをホストしたい。
2007/07/11(水) 22:03:14
IEコンポ自体を作りたいなら止めはしないが、MSは他人に実装させるつもりはないはず。
http://msdn2.microsoft.com/en-US/library/aa752127.aspx
> Custom Implementation No
ActiveXコントロールをホストしたいだけならIWebBrowser2を実装する必要は無いぞ。
http://msdn2.microsoft.com/en-US/library/aa752127.aspx
> Custom Implementation No
ActiveXコントロールをホストしたいだけならIWebBrowser2を実装する必要は無いぞ。
2007/07/11(水) 23:27:02
mozillaにIWebBroser2の互換インターフェースが存在したような、
2007/07/12(木) 00:21:14
98デフォルトの名無しさん
2007/07/15(日) 21:24:58 古きCOM書籍
興味がある方は、復刊リクエストご協力ください
Inside COM
ttp://www.fukkan.com/fk/VoteDetail?no=20887
Essential COM
ttp://www.fukkan.com/fk/VoteDetail?no=38742
興味がある方は、復刊リクエストご協力ください
Inside COM
ttp://www.fukkan.com/fk/VoteDetail?no=20887
Essential COM
ttp://www.fukkan.com/fk/VoteDetail?no=38742
2007/07/16(月) 07:43:51
3層アプリでビジネスロジックを
ドメインオブジェクトとして他のマシンに置きたいとき
COMならCOM+が使えるじゃないですか。
.NETだと何を使えばいいのでしょう?
Web Serviceだとサーバ側にインスタンスを作って
継続的に使用できないですよね。
となると.NET Remotingかな。
ドメインオブジェクトとして他のマシンに置きたいとき
COMならCOM+が使えるじゃないですか。
.NETだと何を使えばいいのでしょう?
Web Serviceだとサーバ側にインスタンスを作って
継続的に使用できないですよね。
となると.NET Remotingかな。
100デフォルトの名無しさん
2007/07/16(月) 08:53:34 >>99
System.EnterpriseServices でCOM+
System.EnterpriseServices でCOM+
10199
2007/07/16(月) 11:31:25102デフォルトの名無しさん
2007/07/16(月) 15:54:41 COM+はやめたほうがいいんじゃないか?
103デフォルトの名無しさん
2007/07/16(月) 21:18:15 >>101
CLR自身がCOMで実装されてるのに、誰だよそんなこと言った奴は。
CLR自身がCOMで実装されてるのに、誰だよそんなこと言った奴は。
104デフォルトの名無しさん
2007/08/15(水) 00:05:12 現在どのプロセスがどのCOMコンポーネントを使っているか
知る方法はないでしょうか?
知る方法はないでしょうか?
105デフォルトの名無しさん
2007/08/17(金) 01:49:01 CoCreateInstanceなんかをHOOKしとけば、判るんじゃない?
(直接DLLからインスタンスを生成する方法がないわけじゃないけど)
(直接DLLからインスタンスを生成する方法がないわけじゃないけど)
106デフォルトの名無しさん
2007/08/20(月) 22:00:05 COMが流行のキーワードでなくなり、.NETは使いものにならない
ということで、プログラミング環境は90年代前半に戻りつつあるよね。
ホビープログラマとしてはプログラムなんて動けばなんでもいいし。
ということで、プログラミング環境は90年代前半に戻りつつあるよね。
ホビープログラマとしてはプログラムなんて動けばなんでもいいし。
107デフォルトの名無しさん
2007/08/21(火) 08:37:59 確かにC++のシェアが下がったと思ったら、組み込みでC++再来みたいな。
108デフォルトの名無しさん
2007/08/21(火) 19:01:55 ウェブプログラミングに飽きて、.NETも何かいまひとつ、そしてC++に戻ってきた。
109デフォルトの名無しさん
2007/08/22(水) 22:17:32 COMでは参照カウンタが0になるとすぐに解放されることは
保証されているんでしょうか?
保証されているんでしょうか?
110デフォルトの名無しさん
2007/08/24(金) 13:49:34 インターフェイスは参照カウンタ0で開放する規約になっている。
なってない場合バグ。その辺のロジックはATLとかがサポートしてて
直接コーディングすることは少ないから普通は大丈夫。
アウトプロセスの複合サーバーの場合は、
インターフェイスが開放されてもプロセスが終了しないものがある。
WordやExcelがその例。
なってない場合バグ。その辺のロジックはATLとかがサポートしてて
直接コーディングすることは少ないから普通は大丈夫。
アウトプロセスの複合サーバーの場合は、
インターフェイスが開放されてもプロセスが終了しないものがある。
WordやExcelがその例。
111デフォルトの名無しさん
2007/08/24(金) 14:44:18 IISでASPからActiveX DLLを使った時、ASPでSet obj = Nothing
してもDLLがロックされたままになるのは別の問題ですかね?
してもDLLがロックされたままになるのは別の問題ですかね?
112デフォルトの名無しさん
2007/08/26(日) 08:22:25113デフォルトの名無しさん
2007/08/26(日) 12:43:19 ・COMオブジェクトの参照カウンタが0になったときに、
そのオブジェクトが消え去る
・あるDLLに属しているCOMオブジェクトの生存数が0
になったときにそのDLLをアンロードしてほしい
この二つは全く別の話。
そのオブジェクトが消え去る
・あるDLLに属しているCOMオブジェクトの生存数が0
になったときにそのDLLをアンロードしてほしい
この二つは全く別の話。
114デフォルトの名無しさん
2007/09/27(木) 10:42:39 奥深いよね〜COM
115デフォルトの名無しさん
2007/09/27(木) 16:33:32116デフォルトの名無しさん
2007/09/27(木) 16:48:30117デフォルトの名無しさん
2007/09/27(木) 18:15:23 >>115
Windows のソフトでわずかだけれども C# が使われ始めているな。
以前ならMFCで書かれていたような奴が。
Sunが横やり入れなければ数年前にJ++で出来ていたことなのにねぇ・・・
Windows のソフトでわずかだけれども C# が使われ始めているな。
以前ならMFCで書かれていたような奴が。
Sunが横やり入れなければ数年前にJ++で出来ていたことなのにねぇ・・・
118デフォルトの名無しさん
2007/09/28(金) 04:52:55 組み込みでC#使ってるひといる?
119デフォルトの名無しさん
2007/10/01(月) 09:32:59 VB6の後継はC#だよね〜
120デフォルトの名無しさん
2007/10/01(月) 13:13:07 ぽとぺた環境のことか?
121デフォルトの名無しさん
2007/10/24(水) 14:50:19 どとねと環境のことだろう
122デフォルトの名無しさん
2007/10/31(水) 06:53:00 getUnk(&pUnk1);
getUnk(&pUnk2);
getUnk(&pUnk3);
getUnk(&pUnk2);
getUnk(&pUnk3);
123デフォルトの名無しさん
2007/11/03(土) 15:41:50 pUnkOut->release();
124デフォルトの名無しさん
2007/11/03(土) 19:23:29 IUnko
125デフォルトの名無しさん
2007/11/05(月) 19:49:15 eco->recycle(unko);
126デフォルトの名無しさん
2007/11/05(月) 21:55:35 シェルがCOMをまったく使わなくなる日が来たりするのだろうか
127デフォルトの名無しさん
2007/11/05(月) 23:14:29 果たしてそれはWindowsなのだろうか。
128デフォルトの名無しさん
2007/11/06(火) 01:23:31 果たしてWindowsのそれはシェルなのだろうか
129デフォルトの名無しさん
2007/11/11(日) 22:25:40 IThumbnailCache ってどこから手繰りよせたらいいのん?
IThumbnailProviderからもってくるとキャッシュみないよね?
IThumbnailProviderからもってくるとキャッシュみないよね?
130129
2007/11/12(月) 00:26:45 >IThumbnailProviderからもってくるとキャッシュみないよね?
IShellItem.BindToHandler経由でIThumbnailProviderからサムネールもってくるとキャッシュみないよね?
IShellItem.BindToHandler経由でIThumbnailProviderからサムネールもってくるとキャッシュみないよね?
131129
2007/11/12(月) 02:14:14 自己解決しますた
LocalThumbnailCacheでnewしてやればいいのね
ほんとのところCOMを理解してないけど
キャッシュ見るようになって動画のサムネイル早っ
LocalThumbnailCacheでnewしてやればいいのね
ほんとのところCOMを理解してないけど
キャッシュ見るようになって動画のサムネイル早っ
132デフォルトの名無しさん
2007/11/13(火) 23:58:24 先週からVisualStudio2005でCOM/ATLの開発始めたCOM初心者なんだけど、
おっそろしい程に参考になる本とかWEBページとか少ないな
ボチボチ進んでるから、なんとかなるとは思うけど、自力で探るのはめんどい
おっそろしい程に参考になる本とかWEBページとか少ないな
ボチボチ進んでるから、なんとかなるとは思うけど、自力で探るのはめんどい
133デフォルトの名無しさん
2007/11/16(金) 02:04:59 Essential COMの第一章はPDFになってて結構参考になった
135デフォルトの名無しさん
2007/11/16(金) 02:16:20 >>134
http://www.ascii.co.jp/pb/bookmart/pdf/47561/4756130666.pdf
直接の役には全然役に立たないよ
でもこれ読む前はなんでCOMがこんなことになってるのか全然わかんなかった
http://www.ascii.co.jp/pb/bookmart/pdf/47561/4756130666.pdf
直接の役には全然役に立たないよ
でもこれ読む前はなんでCOMがこんなことになってるのか全然わかんなかった
136デフォルトの名無しさん
2007/11/16(金) 02:28:35137デフォルトの名無しさん
2007/11/17(土) 02:14:16 レジストリを使わないCOMがあったら便利だなぁと、そう思った
マニフェスト的なものをヘッダに持って
どう実現するかは知らんけど
マニフェスト的なものをヘッダに持って
どう実現するかは知らんけど
138デフォルトの名無しさん
2007/11/17(土) 03:36:51 >>137
XP以降ならマニフェストでサイドバイサイドできるよ。
XP以降ならマニフェストでサイドバイサイドできるよ。
139デフォルトの名無しさん
2007/11/21(水) 00:20:03 解放忘れのチェックの仕方とエラー処理の書き方がわからんなあ
140デフォルトの名無しさん
2007/11/21(水) 00:48:55 CComPtr
_com_ptr_t
_com_ptr_t
141デフォルトの名無しさん
2007/11/22(木) 00:08:27 >>137
海外のライブラリでそれできるやつあるよ
海外のライブラリでそれできるやつあるよ
142デフォルトの名無しさん
2007/11/23(金) 01:44:45 Registration-Free COM
ttp://www.ailight.jp/blog/sha256/archive/2005/03/29/5437.aspx
ttp://www.ailight.jp/blog/sha256/archive/2005/03/29/5437.aspx
143デフォルトの名無しさん
2007/12/02(日) 02:36:38 翔泳社の「ATL COMプログラミング」でCOMの勉強を始めたのですが、
VisualStudio2005でATLの「実行可能サーバー」を生成すると
ソースが書籍のサンプルと全然対応しなくて困っております
今の開発環境でCOMの学習用にいい書籍とかありますでしょうか?
VisualStudio2005でATLの「実行可能サーバー」を生成すると
ソースが書籍のサンプルと全然対応しなくて困っております
今の開発環境でCOMの学習用にいい書籍とかありますでしょうか?
144デフォルトの名無しさん
2007/12/02(日) 02:49:08 ATL Internals: Working with ATL 8 (2nd Edition)
by Christopher Tavares, Kirk Fertitta, Brent Rector and Chris Sells
とかは2006年だ読んだこと無いけど
by Christopher Tavares, Kirk Fertitta, Brent Rector and Chris Sells
とかは2006年だ読んだこと無いけど
145デフォルトの名無しさん
2007/12/02(日) 17:22:28146デフォルトの名無しさん
2007/12/02(日) 18:08:07 >>143
俺もその本持ってるけど、COM/ATLの根本的なところは大して変わらないんだし、ATLの側でも
互換性のためATL3.0用のクラス残してるし、それで勉強してみたら?
C++属性なんて最後でいいと思うし、ATL8.0の部分だってATL3.0判ればそう難しくはないんじゃないか?
俺もその本持ってるけど、COM/ATLの根本的なところは大して変わらないんだし、ATLの側でも
互換性のためATL3.0用のクラス残してるし、それで勉強してみたら?
C++属性なんて最後でいいと思うし、ATL8.0の部分だってATL3.0判ればそう難しくはないんじゃないか?
147デフォルトの名無しさん
2007/12/03(月) 00:38:06148デフォルトの名無しさん
2007/12/05(水) 01:36:09 別環境のVisualC++6.0でATLのプロジェクトを生成し、それを使って演習…
149デフォルトの名無しさん
2007/12/14(金) 22:18:03 IDropTarget/IDropTargetHelperを実装したクラスのウィンドウで
ドラッグドロップをしています。
そのウィンドウ上にマウスカーソルがあるときに他のウィンドウを非アクティブのまま
表示するようにしたいんですが、ウィンドウを表示すると元のウィンドウの下に
ドラッグイメージが隠れてしまいます。
(後から表示したいウィンドウもIDropTarget/IDropTargetHelperを実装してます。そっち上では
ドラッグイメージは隠れません)
ドラッグイメージのZOrderをなんとかしたいわけですが、
ヒント等ご存知の方いらしたら教えてくんなましょ
ドラッグドロップをしています。
そのウィンドウ上にマウスカーソルがあるときに他のウィンドウを非アクティブのまま
表示するようにしたいんですが、ウィンドウを表示すると元のウィンドウの下に
ドラッグイメージが隠れてしまいます。
(後から表示したいウィンドウもIDropTarget/IDropTargetHelperを実装してます。そっち上では
ドラッグイメージは隠れません)
ドラッグイメージのZOrderをなんとかしたいわけですが、
ヒント等ご存知の方いらしたら教えてくんなましょ
150デフォルトの名無しさん
2007/12/15(土) 01:59:23 そのウィンドウと他のウィンドウと元のウィンドウと後から表示したいウィンドウが
どのウィンドウなのかわかんないのでAとかBとか名前付けて書いてくれると嬉しい
どのウィンドウなのかわかんないのでAとかBとか名前付けて書いてくれると嬉しい
151デフォルトの名無しさん
2007/12/15(土) 11:39:46 すんません
すべてのウィンドウ: IDropTarget
・IDropTargetHelperをもってる
・擬似メニューみたいな感じで、擬似サブメニューみたいなウィンドウがポップアップする
A上にドラッグ、A上にドラッグイメージ出る
↓
A上のサブメニューが展開してBを表示( AのDragOverでWM_MOUSEMOVEをA自身にsend。これが原因? )
↓
マウスはA上にあるけど、ドラッグイメージはAの下に隠れてしまう
↓
B上にドラッグ、B上にドラッグイメージが出る
↓
B上のサブメニューが展開してCを表示( BのDragOverでWM_MOUSEMOVEをB自身にsend。これが原因? )
↓
マウスはB上にあるけど、ドラッグイメージはBの下に隠れてしまう
(以下繰り返し)
IDropTargetHelper使わないと正常なんで、諦めるかも……
すべてのウィンドウ: IDropTarget
・IDropTargetHelperをもってる
・擬似メニューみたいな感じで、擬似サブメニューみたいなウィンドウがポップアップする
A上にドラッグ、A上にドラッグイメージ出る
↓
A上のサブメニューが展開してBを表示( AのDragOverでWM_MOUSEMOVEをA自身にsend。これが原因? )
↓
マウスはA上にあるけど、ドラッグイメージはAの下に隠れてしまう
↓
B上にドラッグ、B上にドラッグイメージが出る
↓
B上のサブメニューが展開してCを表示( BのDragOverでWM_MOUSEMOVEをB自身にsend。これが原因? )
↓
マウスはB上にあるけど、ドラッグイメージはBの下に隠れてしまう
(以下繰り返し)
IDropTargetHelper使わないと正常なんで、諦めるかも……
152デフォルトの名無しさん
2007/12/20(木) 16:43:05 mpeg compass.jp
名古屋駅近辺でお話しましょう
名古屋駅近辺でお話しましょう
153デフォルトの名無しさん
2007/12/20(木) 23:05:18 COM初心者です。
CLSCTX_INPROC_SERVERを渡したCoCreateInstanceは
1つのプロセス内に1つのインスタンスを作成するみたいですが、
1つのプロセス内の複数のスレッドでひとつのIIDで指定されたインスタンスを
スレッドごとに作成したいときはどうしたらいいのでしょう。
もしかしてIIDごとに何個つくれるとか決まってたりするんでしょうか
CLSCTX_INPROC_SERVERを渡したCoCreateInstanceは
1つのプロセス内に1つのインスタンスを作成するみたいですが、
1つのプロセス内の複数のスレッドでひとつのIIDで指定されたインスタンスを
スレッドごとに作成したいときはどうしたらいいのでしょう。
もしかしてIIDごとに何個つくれるとか決まってたりするんでしょうか
154デフォルトの名無しさん
2007/12/20(木) 23:14:33 各スレッドでCoCreateInstanceを呼べばいい。
155デフォルトの名無しさん
2007/12/28(金) 13:03:07 Win32スレから誘導されてきますた
IExtractImageを実装したんだけど、2000で動かすと時々フォルダ内の全ファイルに同じ
サムネイルが出るようになる不具合はどう対処したらいいんでしょう。
MSDNのサンプル実装で起きるし、フラグ類いろいろ変えたりマルチスレッド対応にしたり
しても改善せず・・・
IExtractImageを実装したんだけど、2000で動かすと時々フォルダ内の全ファイルに同じ
サムネイルが出るようになる不具合はどう対処したらいいんでしょう。
MSDNのサンプル実装で起きるし、フラグ類いろいろ変えたりマルチスレッド対応にしたり
しても改善せず・・・
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- インド料理屋に抗議に行った
- 【正論】検察「山上よ、どんな事情があろうと暴力が許されない」 [442080748]
- 熱はないけど倦怠感があるんやが
- スマホゲ問い合わせ俺「ここでこんなことしたらバグった!」返答「アカウント情報と画面のスクショと操作手順をメールで送って」
- 付き合う女って一定以上の容姿超えたら性格が大事だよな
