ATL/WTL
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002名無しさん23
NGNGものだと漠然と思ったりするのですが、どうなんでしょう?
0003デフォルトの名無しさん
NGNG0004名無しさん23
NGNGSTLにしてもそうだけど、ライブラリの抜本的な再構築を
うながすパワーを持ってる。
まあVisualStudioの次の版に入ってたらいいね。>WTL
ちょっと使ってみよう。
0005デフォルトの名無しさん
NGNG> I attended the midnight madness at vcdc tonight. Tony Goodhew (sp?)
> the product manager for VC++ was there. He was posed the question
> about WTL and its future. What he was very clear to state DO NOT USE
> WTL. He said that it was a sample app that accidently escaped M$. He
> said that he wishes that it would have not left M$ and he is angry
> that it got out. He also said that it is NOT supported by M$ or nor
> will it ever be. He said that they had no intentions to ever add any
> features to it, and that it does not fit into the vision for .NET.
> Also he said that eventually ATL will include windowing support, but
> it will not be implemented as WTL (implying that he did not like the
> way it was done <my interpretation>). Then he repeated about five
> times DO NOT USE WTL.
0006デフォルトの名無しさん
NGNG> Osborn:
> On another subject, there seems to be a fair amount of developer
> interest in the Windows Template Library (WTL) that Microsoft
> released in the latest platform SDK [WTL is a C++ template library
> for building Windows applications and is viewed by some
> developers as an alternative to the Microsoft Foundation Classes. -
> JO]. Does Microsoft have plans to support or add to it?
>
> Goodhew:
> WTL is code that was released unsupported and we have no
> intention of updating it. We have no intention of continuing its
> availability. Frankly, it should never have been released and it will
> be removed from the platform SDK at the time of the next SDK
> revision.
>
> Osborn:
> What would you think about an outside group adopting WTL and
> maintaining it as an open source development project?
>
> Goodhew:
> Anyone can create his or her own template libraries. There are very
> successful third-party companies that market their own template
> libraries and their own class libraries for C++. We're not going to do
> that. The WTL is something that we are not going to support or
> continue at Microsoft.
0007デフォルトの名無しさん
NGNGそうなの?
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010名無しさん@お腹いっぱい。
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGWTLの作者、Nenad Stefanovic氏のコメントです。
> Those statements were given by Tony Goodhew. He is a program manager in VC
> group and has nothing to do with WTL. Please don't listen to him, he appears
> to have some personal issue with WTL and his behavior is not correct at all.
> It is all crazy, unfortunately.
>
> WTL will not be killed and the new version will ship in the Platform SDK
> soon. It will not ship is VC7, and it will remain unsupported. As for
> windowing in ATL, I don't know when or how will that be added.
new versionってのは3.1のことね。
001514
NGNG> I'd like to point out that negative comments about WTL come from one person
> (you know who), and not from all of MS. As I said before, WTL will continue
> to be available. New version is expected to ship in the Whistler Beta
> Platform SDK release.
要するに、Tonyは.NETのマーケティングをやってる人間で、
WTLが注目を浴びてるのが気に食わないのでしょう。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGOfficeもNetdocs(だっけ、Outlook+Wordみたいなもん)と
かち合ってるし。
0018デフォルトの名無しさん
NGNGよくあることなんだろうけど、
部外者を必要以上に巻き込まないでほしいね。
0019デフォルトの名無しさん
NGNGMSにも落とし入れようとする奴っているんだな。
MSも成熟して来たって言う証拠だな。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGよかったじゃねえか(ワラ
0023デフォルトの名無しさん
NGNG「C#使え」って勧めてる。(藁
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG>C#はVisual CとVisual C++に新機能を付け加えたものだ。
Tonyすげえな(わら
#Visual Cってなに?
0027デフォルトの名無しさん
NGNGだからそうだろ
0028デフォルトの名無しさん
NGNGThe Weitek WTL 4167 math coprocessor is a set of three chips used as a replacement for the Intel 80387 math coprocessor.
Our math coprocessor libraries only support Intel's 80x87 math coprocessors.
If you wish to use the Weitek WTL 4167 math coprocessor with a Microsoft compiler, you must obtain a third party library that supports it.
0029Weitek WTL 4167チップセットってなに?
NGNGWeitek WTL 4167数学コプロセッサはインテル80387数学コプロセッサに交換として使用される3個のチップのセットである.
我々の数学コプロセッサライブラリはインテルの80x87数学コプロセッサをサポートするだけである.
マイクロソフトコンパイラがあるWeitek WTL 4167数学コプロセッサを使用することを願うならば, あなたはそれを支持する第三者ライブラリを得なければならない.
0030デフォルトの名無しさん
NGNGワラタ
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGWTL(ATL?)でもWinsock1.1の非同期ソケットが使えるか確かめてみた。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGhttp://discuss.develop.com/archives/wa.exe?A2=ind0011b&L=dotnet&F=&S=&P=90605
0038デフォルトの名無しさん
NGNGTony said:
"WTL is a totally unsupported sample. Microsoft recommends that you do not use it. "
相変わらずだな、Tony
0039デフォルトの名無しさん
NGNGhttp://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A2=ind0101c&L=atl&F=&S=&P=15137
これもTonyの陰謀か?(藁
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGもしかして、.NETとかみ合わないから?
じゃあ、なぜWTLは.NETでサポートできないんだ?
0042デフォルトの名無しさん
NGNGWhy do you dislike WTL?
と言ってやれ。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGこんな感じて試験的に作ったオブジェクトを
class ATL_NO_VTABLE HogeImpl :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<HogeImpl, &CLSID_Hoge>,
public IDispatchImpl<IHoge, &IID_IHoge, &LIBID_TestActiveX>
{
public:
HogeImpl(){}
DECLARE_THREADING_MODEL(otApartment);
DECLARE_PROGID("TestActiveX.Hoge");
DECLARE_DESCRIPTION("実験");
BEGIN_COM_MAP(HogeImpl)
COM_INTERFACE_ENTRY(IHoge)
COM_INTERFACE_ENTRY2(IDispatch, IHoge)
END_COM_MAP()
};
親の公開されたメソッドから作成したいのですが
STDMETHODIMP TTestActiveX::NewHoge(IHogePtr* hoge)
{
ここにどう書けばいいでしょう?
}
004847
NGNG>ATL でよく発生するエラーには、実装したクラス(HogeImpl)を対象に new を呼び出してオブジェクトを作成しようとした場合があります。この場合は、奇妙なエラーが発生して失敗します。オブジェクトを作成するには、CoCreateInstance を使用してください。
をやっと見つけました。
しかしCoCreateInstanceとは何ぞや? 先は長いかなぁ
0049デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/specs/S1D179.HTM
005047
NGNG*(void **)hoge=NULL;
HRESULT hr=CoCreateInstance( CLSID_Hoge,NULL,CLSCTX_ALL,IID_IHoge ,(void **)hoget);
でとりあえずエラーは出なくなった
005147
NGNGSTDMETHODIMP TTestActiveX::NewHoge(IHogePtr* hoge)
{
*(void **)hoge=NULL;
HRESULT hr=CoCreateInstance( CLSID_Hoge,NULL,CLSCTX_ALL,IID_IHoge ,(void **)hoget);
(*hoge)->Parent=this;
return S_OK;
}
とかやりたいのだけど当然ダメだ。しょうがないから
STDMETHOD(SetParent(TTestActiveXPtr obj));
を HogeInp1に追加して
(*hoge)->SetParent(this);
にしたら良さそうと思ったが
HogeImp::SetParent(TTestActiveXPtr obj)
{
/*もしかしたら参照カウンタをインクリメントする必要があるかもよ */
}
とコメントがある。 ん〜?
という事はここでAddRefして IHogeが消えるときにReleaceすべきなんだろうか?
いやでも、それは勝手にATLがやってくれてないの?
005247
NGNGあ! いや、かってにやってくれるのは IHogeの参照についてか!
という事はやっぱり AddRef/Releaceは要るんだろうな
005347
NGNGDelphi本にはATLの説明ないし
ActiveX本は3冊買ったけどMFCとセットだもんだからさっぱり判らん
0054デフォルトの名無しさん
NGNG開発環境云々以前の問題だろ。
ATL使いたいならATLの本買えよ・・・。
0055デフォルトの名無しさん
NGNG005647
NGNGActiveXを使うだけなら貼り付けるだけなのでCoCreateInstanceは始めて
見たのじゃ そう責めないでおくれよ。これから勉強するから
>>55 カタログにはMFCも使えるとあるんだけど、よく判らん
買ったActiveXにあるATLコードに 自動作成されたコードが とても似て
るからATLなんだろうと思ってるんだけど、そもそもそれが勘違いなのかも
0057>>56
NGNG0058デフォルトの名無しさん
NGNGとくにこれは極悪すぎ。
T** CComPtr::operator&()
なんでoperator&の戻りがT**なんだ?
普通、こんなoperatorをしかもうそつき戻り値でオーバーロードしねーぞ >>MS
0059デフォルトの名無しさん
NGNG普通、インタフェースを渡す側がAddrefして、
受け取った側はAddrefされていると思って使う。
いらなくなったらReleaseする。
QueryInterfaceが典型的な例だね。
0060デフォルトの名無しさん
NGNGじゃ_com_ptrをつかえよ。
それがいやじゃったら、使うな。
006147
NGNG>>59なるほど。しかし渡す側が自分なものだからややこしい
自分で自分をAddrefしてから渡せばいいのか?
DelphiだとActiveXでも普通のフォーム使うのと変わらん簡単お手軽なのに
C++Builderだとなんかラッパと2つに分かれているからワケワカ状態
Implが付いてるかだけで同じソース上に混在するから、
m_VclCtlからラップ元を辿ればいいといってもさ、すぐ頭が混乱
ダメだな-->自分
0062デフォルトの名無しさん
NGNG_com_ptrって、な〜に〜?
http://www.asia.microsoft.com/japan/developer/library/vclang/_pluslang__com_ptr_t.htm _com_ptr_tなら知っているけど (藁
Interface** _com_ptr_t::operator&()
結局同じじゃねぇーかよ。良く調べてから言えよな (藁
0063デフォルトの名無しさん
NGNGさて、Webページからファイル(データ)を引っ張って来たいの
ですが、どうすればいいでしょう? <PARAM >タグとかで指定
されたファイルを落として来たいのです。
キーワードの一部でもご指導願えれば有り難いです
0064デフォルトの名無しさん
NGNGCreateURLMoniker
■ このスレッドは過去ログ倉庫に格納されています