COM の世界を斬る!
■ このスレッドは過去ログ倉庫に格納されています
0001IUnknown
NGNG0666デフォルトの名無しさん
NGNGリクエストがある度に、インスタンスの生成・破棄が起きている。
何とかならんもんか。
スレ違いならスマソ
0667デフォルトの名無しさん
NGNG名著だが、今となって読む価値があるかは、絶妙に微妙
0668デフォルトの名無しさん
NGNGVC++のBothスレッドモデルでステートレスなCOMを作っているなら、
IObjectControlインターフェイスを実装してCOM+ Component Serviceに登録。
0670デフォルトの名無しさん
NGNG> VC++のBothスレッドモデルでステートレスなCOMを作っているなら、
> IObjectControlインターフェイスを実装してCOM+ Component Serviceに登録。
レスさんくす。
よくわからんのだが、↓のようにしたらとりあえずConstrucrot/Destructorの繰り返しは
なくなった。
class ATL_NO_VTABLE CXXX :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CConferenceSession,&CLSID_XXX>,
public IDispatchImpl<IConferenceSession, &IID_IXXX, &LIBID_XXXLib>,
public ISupportErrorInfo
{
public:
DECLARE_CLASSFACTORY_SINGLETON(CXXX);
DECLARE_PROTECT_FINAL_CONSTRUCT();
なんなのコレ?
誰か解説たのんます。
0671デフォルトの名無しさん
NGNGDECLARE_CLASSFACTORY_SINGLETON(CXXX);
すると、ひとつのインスタンスをstaticな変数内に保持して以後、それを使いまわす
から、コンストラクタとデストラクタの繰り返しはなくなる。
IObjectControlについては、おいらも説明キボーン
0672デフォルトの名無しさん
NGNGは、べつにいらないんじゃないか
0673デフォルトの名無しさん
NGNG>>656
お主の質問文は
えらく乱れた日本語だが
言いたいことはわかった
Win32もCOMもAPIだ
Win32はC関数の集まり
COMはC++純粋仮想関数の集まり
Win32もCOMもDLLだ
Win32は例えばC:\WINNT\SYSTEM32\USER32.DLLのように位置が決まっている
COMは例えばHKEY_CLASSES_ROOT\CLSID\{00000010-0000-0010-8000-00AA006D2EA4}\InprocServer32=C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLLのようにレジストリに位置が書いてある
COMでないDLLはエクスポートで関数を公開する
COMは仮想テーブルで関数を公開する
0674デフォルトの名無しさん
NGNGCOMでないDLLはDllMain()がOSから呼び出される
COMはDllMain()/DllRegisterServer()/DllUnregisterServer()/DllGetClassObject()/DllCanUnloadNow()がOSから呼び出される
タイプライブラリは必須ではない
最小限のものは*.cppと*.defだけで作れる
お勧めはできんが型宣言とGUIDをコピペれば*.hもなしで使える
COMを始める前に知りたかったことって
こんなことだったな、少なくとも漏れは
本は他の香具師が紹介してたからセミナーを紹介しておく
ttp://www.catnet.ne.jp/triceps/hi/COM.htm
まあがんばれや
0675デフォルトの名無しさん
NGNGぷっ
0676専門バカにうんざり
NGNGぷっ
0677デフォルトの名無しさん
NGNGregsvr32.exeは、%SYSTEMROOT%\system32の下にいるから、当然、OSの構成要素ですが何か?
0678専門バカにうんざり
NGNG0679デフォルトの名無しさん
NGNGfreecell.exeも、%SYSTEMROOT%\system32の下にいるから、当然、OSの構成要素ですが何か?
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGカーネルモード以外はアプリとか言ってのける手合いか?
0682??
NGNG------/*ifaststring.h*/------
class IFastString
{
public:
virtual void Delete(void) = 0;
virtual int Length(void) const = 0;
virtual int Find(void) const = 0;
};
extern "C"
IFastString* CreateFastString(const char* psz);
------/*faststring.h*/------
#include "ifaststring.h"
class FastString : public IFastString
{
const intm_cnt;
char*m_psz;
public:
FastString(const char* psz);
~FastString();
void Delete(void);
int Length(void) const;
int Find(void) const;
};
------/*faststring.cpp*/------//実装略
みたいなのあるんですけど
0683??
NGNG(略)
#include "ifaststring.h"
(略)
void CTestdlgDlg::OnBtn()
{
UpdateData(true);
IFastString* pfs = CreateFastString(m_input); //<-(**)
if(pfs != NULL){
m_length = pfs->Length();
pfs->Delete();
}
UpdateData(false);
}
(**)のところで「error LNK2001: 外部シンボル "_CreateFastString" は未解決です」
って出るんですけど、何でですかね?
0684デフォルトの名無しさん
NGNGエクスポートはどうやってるの?
0685??
NGNGというか、本にはそう書いてあるので・・・
exportって「_declspec(dllexport)」のことですか?
一応、class IFastString や class FastString の間に挟んでみたりもしたのだが・・・
素人丸出しの質問で申し訳無いス。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNGそれがいやなら、LoadLibraryからGetProcAddressの流れを。
0688??
NGNG使う側のアプリのプロジェクトの設定で
「リンク」タブのところの「オブジェクト/ライブラリモジュール」に
libファイル名を入れておけばOKですよね?(パスもちゃんと通ってる)
0689デフォルトの名無しさん
NGNGうん、ダメ。
ちょっとスレ違いになってきたな
http://pc3.2ch.net/test/read.cgi/tech/1036897197/
あたりでどうだ?
0690??
NGNG0691デフォルトの名無しさん
NGNGIWebBrowser2とはどう違うの?
IWebBrowserAppを取得する時は、IServiceProvider::QueryService
を使うというのも意味が分からないし。
サービス?なんじゃらほい。
0692いつでもどこでも名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG> IWebBrowserとIWebBrowserAppがそれであり、前者はコントロール、
> 後者はアプリケーションである。
つまり、サービス=アプリケーション、ってこと?
0695初心者
NGNG今のところ↓とか使ってます
C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\Win32API.csv
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGNdrConformantStructUnmarshall()
このAPIの使い方知ってる?
MSDNにも記述ないんだけど・・・。
0698デフォルトの名無しさん
NGNG使い方はわからないんだけど、それってCOMとは関係ないような...
COMより低レベルのraw RCPで使うものだと思います。
0699697
NGNGオープン配列/オープン構造体を
カスタムマーシャリングしようとしてるんです。
MIDLのはき出すproxy/stubコードでこのAPIを使っていて、
カスタム化する際にこのAPIを使用しなくちゃいけないと
思うんですけど・・・。
って事なんです。
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG外してたらスマソ。MBVカスタムマーシャリングだけが目的なら(構造体とか配列
ってことでそう思ってるわけなんだけど)、直接RPCのAPIを叩かなくても、IMarshal
をオーバーライドしてやって、ストリームへのシリアライズ/デシリアライズ処理を
記述してやればいいんじゃないかな。
#ようはその構造体や配列自体をインターフェイスとして出してやれば良いのではと。
#って、こんな記述で意図がわかってもらえれば楽でいいけどな。
0703デフォルトの名無しさん
NGNGC++でCOMを使ってたときは、言語との透過性、文字列操作の煩雑さ、エラー処理の言語との不一致などコンポーネントを作ろうとしたのを挫折した覚えがあります.
既存資産の利用を含めて、すべてを置き換えるとはおもいませんが、.NETのほうが私的にはプログラムに使いたく思ってます.仕事あるかは知りませんが…
そんな私に意見お願いします.
0704デフォルトの名無しさん
NGNGゆくゆくはその多くが置き換わるものと思ってるけど、
いきなり全てなくなるようなことはない。これはいいよね?
明らかなことは.netからそれらネイティブなコードを
呼び出そうとした場合、C関数をDLLに詰め込んだものよりも
COM形式の方が親和性が高いということ。
ネイティブのコードに対する需要がまだまだあることを考えたら
COMは未だに必要だし、理解しておくべき技術でもある。
こんな風に単純に思ってますがどうでしょうか?
0705デフォルトの名無しさん
NGNGOpenDocを使いましょう。
0706703
NGNGコンポーネント作る簡便さは.NETに多くの点で軍パイがあがるのでしょうか?
COMでないとという必要があれば知りたいので…お願いします.
0707デフォルトの名無しさん
NGNG>COMでないとという必要
おれの知る限りじゃ、ない
0708デフォルトの名無しさん
NGNGる、とありましたけど、どなたかいい参考書ご存知ありませんか?よろしくおながいし
ます。
0709デフォルトの名無しさん
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億〜
■ このスレッドは過去ログ倉庫に格納されています