ATL 相談室
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNG(ATL Serverでは XML Webサービス、Webアプリケーション、
サーバーアプリケーションが作成できるらしい。)
について語りましょう。
0002デフォルトの名無しさん
NGNG/〃 ┼‐┼〃__
/\ ノ __
__ , -――-、 /\ノ
ヽ/\l::::::::::::::::::::\ /: : /
,..-―-、/) |: : :|::::::::::::::::::::::/: : /
/⌒Y (_ノ /) |: : :|:::::::::::::::::::::|: : : /
 ̄l ̄l、 ) /`〉 ヽ:: :|::::::::::::::::::::l: : :/
l: : :`ー--‐'‐'´: :/ \|∧ハ/l/: ::〈
\: : : : : : : : : :く |: : : : : : : : : : `ー-┐ ,.、
l: : : : : : : : : :`ー―┐ ,、 |: : : : : : : : : : : : : : |二lニノ
ヽ.: : : : : : : : : : : : : :|ニノ |: : : : : : : : : : : : : : |
ヽ: : : : : : : : : : : : :| ヽ: : : : : : : : : : : /
\: : : : : : : : :/ \ : : : : : : /
 ̄ ̄ ̄ ̄ ノ|  ̄ ̄ ̄ ノ)
ノしノ し'( ノ)__ノ (ノ(
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005簡易かおりん祭り。 ◆PFTlOi7I
NGNGかおりんはなんで飛ぶんーー?
0006コギャルとHな出会い
NGNG朝までから騒ぎ!!
小中高生
コギャル〜熟女まで
メル友
i/j/PC/対応
女性の子もたくさん来てね
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGWTLに興味があるんだけど、情報が少なくて・・・
Donut本家作者さんのサイトとそこからたどれる
リンク以外でWTLに関して解説してるところって
ありませんか?
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNGソースを読んで、実装依存にならないようにドキュメントを確認するのが最良
つか、MFCと違ってATLは単純だからソースをドキュメントとして使用できます。
0022デフォルトの名無しさん
NGNG普通のWin32アプリ作っている人たちに質問。
WinMain 内の基礎的な処理(メッセージループとかWindowの作成)
を書くときに、
1. CExeModule に任せる
2. メッセージループベタ書き(or自作クラス)
3. WTL7.0 に任せる
のどれが一番ナイスな手法ですか?
0023デフォルトの名無しさん
NGNG3.
0024デフォルトの名無しさん
NGNGATLで作成したActiveXを、IEで表示しているのですが、
OBJECTタグで指定したWIDTHやHEIGHTの値を、
PARAMタグが処理される前に取得したいのです。
(もしくは一つ目のPARAMタグ処理)
どうもPARAMタグ処理後でないと、ウインドウが作られないため、
ウインドウサイズの取得が出来ません。
何かよい方法はないでしょうか。
0025デフォルトの名無しさん
NGNGSetExtensionなんちゃらかんちゃらをオーバーライド
(ソース見られないところからだからいい加減)
002624
NGNGHRESULT IOleObject_SetExtent(DWORD dwDrawAspect, SIZEL *psizel)
のことですよね・・・
これ試したんですけど、
PARAMタグで全てのプロパティセット後に呼ばれてるんですよ
くやしいです
0027デフォルトの名無しさん
NGNGやはり、WTL7.0ですか。
ただ、CAppModule はATL7だと、邪魔な気もするんですよね。
CAtlBaseModule があるのに、いらんやろとか思ってしまう。
0028デフォルトの名無しさん
NGNGあれ? SetObjectRectsの方が早かったかな?
これより早いとオブジェクト自体作られていないっていうギリギリだったはず。
0029to
NGNGATLの動作がいまいち理解できません。
Donutをダウンロードしてステップ実行をしているのですが、メインのMDIウインドウ
はどこで定義されているのでしょうか?
MDIのウィンドウを標準ではなくて、自前の画像などを貼り付けてメディアプレーヤー
みたいなブラウザを作ろうと思っています。
あと、ATLを解説しているいいHPを知っていたら教えてください。
お願いします。
0030デフォルトの名無しさん
NGNG良書は沢山あるけど、ATL日本語の良サイトはないな
0031to
NGNG何かおすすめの本ありますか??
0033デフォルトの名無しさん
NGNGATLで、ブラウザ上で実行させるコントロールを作成しているのですが、
タイマーを使うことができません。
CWindow::OnTimer(...)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
をオーバーライドさせているのですが、反応しません。
いろいろ悩んだのですが、コントロールが表示される領域に
CWindowから継承されるウィンドウを貼り付け、それのタイマーを利用する
ことも考えました。が、そもそもウィンドウを貼り付ける方法も分かりません。
よく分かっていないので、極めてレベルの低い質問になってしまうのですが、
<object ...></object>で表示されている画面というのは、ブラウザ上に存在する、
ボタン或いはエディットボックスのような1個のウィンドウと
みなしてよいのでしょうか。それとも、ブラウザのビューウィンドウの一部を
間借りしていると考えたほうがよいのでしょうか。
ひとつご教授ください。お願いします。
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNGbool operator<(BSTR bstrSrc) const
bool operator==(BSTR bstrSrc) const
bool operator<(LPCSTR pszSrc) const
bool operator==(LPCSTR pszSrc) const
は定義されてて、なんで
bool operator>(BSTR bstrSrc) const
bool operator!=(BSTR bstrSrc) const
bool operator<=(BSTR bstrSrc) const
bool operator>=(BSTR bstrSrc) const
とかは定義されてないの?
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGCComBSTRとBSTRで自然に比較演算できるように定義したんですが、
// operator==
inline bool operator==(BSTR s, const CComBSTR& t)
{ return t.operator==(s); }
inline bool operator==(const CComBSTR& s, const CComBSTR& t)
{ return s.operator==(t); }
// operator!=
inline bool operator!=(const CComBSTR& s, BSTR t)
{ return ! s.operator==(t); }
inline bool operator!=(BSTR s, const CComBSTR& t)
{ return ! t.operator==(s); }
inline bool operator!=(const CComBSTR& s, const CComBSTR& t)
{ return ! s.operator==(t); }
// operator<
inline bool operator<(BSTR s, const CComBSTR& t)
{ return t.operator<(s); }
inline bool operator<(const CComBSTR& s, const CComBSTR& t)
{ return s.operator<(t); }
0040デフォルトの名無しさん
NGNGinline bool operator>(const CComBSTR& s, BSTR t)
{
if (s.m_str == NULL && t == NULL) return false;
if (s.m_str != NULL && t != NULL) return wcscmp(s.m_str, t) > 0;
return t == NULL;
}
inline bool operator>(BSTR s, const CComBSTR& t)
{ return t.operator<(s); }
inline bool operator>(const CComBSTR& s, const CComBSTR& t)
{ return s.operator>(t.m_str); }
// operator<=
inline bool operator<=(const CComBSTR& s, BSTR t)
{
if (s.m_str == NULL && t == NULL) return true;
if (s.m_str != NULL && t != NULL) return wcscmp(s.m_str, t) <= 0;
return s.m_str == NULL;
}
inline bool operator<=(BSTR s, const CComBSTR& t)
{ return t.operator>=(s); }
inline bool operator<=(const CComBSTR& s, const CComBSTR& t)
{ return s.operator<=(t.m_str); }
// operator>=
inline bool operator>=(const CComBSTR& s, BSTR t)
{ return ! s.operator<(t); }
inline bool operator>=(BSTR s, const CComBSTR& t)
{ return ! t.operator>(s); }
inline bool operator>=(const CComBSTR& s, const CComBSTR& t)
{ return ! s.operator<(t.m_str); }
0041デフォルトの名無しさん
NGNGbool operator>(const CComBSTR& s, BSTR t)
bool operator<=(const CComBSTR& s, BSTR t)
が、既定義のoperator<()とoperator=()を使って定義できず、
ダサダサになってしまいます。
なんとかならんもんでしょうか?
おながいします。
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGATLって何なのか簡潔におしえてくだしぃ。
COMプログラミングのどの辺がらくになるの。
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGなんでそんなにレスはやいんだ?
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGListen me
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGそして ATLスマートクラス しか使わないが。
こんな俺は逝ってよしか?
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGATL7 だから、 特に意識はしてない。
自分でインスタンス作る必要ないし。
0057デフォルトの名無しさん
NGNG(ウィンドウ関係、使えなさ過ぎ)
0058デフォルトの名無しさん
NGNG具体的にどう雑なんだ?
0059デフォルトの名無しさん
NGNGIE上で動いてるコントロールからIEのハンドルを得たいのですけれど。
0060デフォルトの名無しさん
NGNGATLからのとりかたは知らないんだけど、
前にIEを操作したときは、DDEとか、COMのWebControl使ったぞ
0061デフォルトの名無しさん
NGNGなんでecxにthisを入れてjmpしないのでしょうか?
その方がthunkのコードも小さくなるのに。
何かの理由で直接ecxを触れると不味いとかあるのですか?
0062デフォルトの名無しさん
NGNG・メンバ関数の呼び出しにthiscallを使わない処理系(bccとか)で
使えなくなってしまうから。
・Alpha版とかSH3版とかMIPS版とかARM版とかIA64版とかとコード共有しやすいから。
・VC限定にしても、メンバ関数のアドレスって正攻法で取得できるものだっけ?
&Class::Member だと必ずしもアドレスの数値が帰ってくるとは限らんし。
(↑VC++&多重継承無し&非virtual、ならたしか大丈夫だった気もするが)
・ecxはcallerが退避するので書き換えても問題ないと思う。
0063デフォルトの名無しさん
NGNGしかし、
>メンバ関数のアドレスって正攻法で取得できるものだっけ
これが気になるのでATLと同じにした方が良さそうですね。
ありがとうございました
0064デフォルトの名無しさん
NGNGエラーが起きます。atlimpl.cppの_fltused定義をコメントアウトすると、
リンク時に_mainが未解決であると怒られます。
どなたか原因がおわかりのかたいらっしゃらないでしょうか?
0065デフォルトの名無しさん
NGNGどっかに定義してあるから、それを消してみれば
0066デフォルトの名無しさん
NGNG意味はよくわかりませんが・・・。ありがとうございます。
0067デフォルトの名無しさん
NGNGIE:5.5
開発環境:Visual Studio 6.0 SP5を使用しています。
ATLで適当なCOMクラスを作って、Visual Basicから使おうとすると、
New した時点でActiveX Objectが作成できませんというエラーになってしまいます。
もちろん登録してありますし、そもそもDebugモードでコンパイルすると問題なく動作します。
Win32 Release MinDependency でコンパイルした場合に上記エラーになってしまいます。
VC側でデバッグかけると、デバッグウィンドウに
"例外処理 (初回)は Test.Exe(KERNEL32.DLL)にあります:0xC000008F:Float Inexact Result"
と出てきますので、どうやらなんかの例外でこけているようなのですが、何が原因なのかまったく見当がつきません。
いままでいくつも作ってきてこんなことなかったのに...
誰か助けてください。
0068デフォルトの名無しさん
NGNGDebug モードのときには動いて、Release モードの時には動かないの?
ASEERT 系マクロの中に関数とか指定していないか調べた?
0069デフォルトの名無しさん
NGNG×ASEERT
○ASSERT
0070デフォルトの名無しさん
NGNGありがとうございます。
それが、スケルトンプロジェクトでATLオブジェクトを挿入しただけの
ものでも起こるという状態でして...
環境再構築かなぁ
0071デフォルトの名無しさん
NGNG//Pを使う
P.Free(); //CDerived::~CDerived は呼ばれない!
…CAutoPtrってこういうものなんですかね。
もちろんデストラクタはvirtualです。
0072デフォルトの名無しさん
NGNGそこでdeleteした時に呼ばれる関数なら全てCAutoPtr::Freeを
読んだときでも呼ばれるはず。
delete P.Detach(); ならうまく行くのかどうかチェックしてみ。
007371
NGNG申し訳ない。単純な形でのテストを怠ってました。
コンソールアプリで普通にやってみたら
P.Free();
でちゃんと派生クラスのデストラクタが呼ばれました。
それでもうちょっと調べたところ…。
MFCのダイアログアプリからやると駄目と分かりました。
うーん。なにかヘッダファイルがらみの単純なことなのかなあ。
class Catltest2Dlg : public CDialog {
//中略
CAutoPtr<CBase> m_pBase ;
}
BOOL Catltest2Dlg::OnInitDialog()
{
//中略
CBase* p = new CDerived(TEXT("TEST")) ;
if (!p) {
::AfxThrowMemoryException() ;
}
m_pBase.Attach(p) ;
return TRUE;
}
void Catltest2Dlg::OnDestroy()
{
m_pBase->SomeFunc() ; //ここでは派生クラスが呼ばれる
m_pBase.Free() ; //ここで駄目
CDialog::OnDestroy();
}
007471
NGNGお騒がせしました。解決しました。
…下記のwarningが出ていたのに気付いてませんでした。
c:\MS\VStudio.NET\Vc7\atlmfc\include\atlbase.h(924) :
warning C4150: 'CBase' 型を削除するため delete 演算子が
呼び出されましたが、定義がありません。
正しくdeleteできるようにするため下記の修正が必要でした。
(誤)
class CBase ;
//中略
CAutoPtr<CBase> m_pBase ;
(正)
#include "Base.h"
//中略
CAutoPtr<CBase> m_pBase ;
#しかしなんだってコンパイルできちゃうんだ、これ。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGWTLを使いたいのですが、上のほうに書いてあった「ATLインターナル」を買おうかと思っています。
「ATL COM プログラミング」なら持っているのですが、WTLに関する情報は皆無です。
「ATLインターナル」ではWTLに関する情報はどれくらいありますか?
最新はWTL7なんですよね?「ATLインターナル」で扱われているバージョンと違いはありますか?
もしくはWTLに特化した書籍は他に何かありますか?
田舎なもんで、本屋で立ち読みするわけにもいきません。
WTLには非常に興味があるので、どうかご教授願います。
007776
NGNG0078デフォルトの名無しさん
NGNGそんなものだれが使うんですか?
0079デフォルトの名無しさん
NGNGATL インターナルにWTLの話題はないよ。
つーか、WTL 出る前に書かれたものだし。
ATLウィンドウクラスを解説した章は WTL にもそのまま当てはまるし、
読んでおけば、WTL のソースをそれほど苦労することなく読めるようになる。
あと、WTLを扱った本はないはず。(少なくとも日本語では)
>>77
んなことたぁない
008076
NGNGWTLの話題は無いのですね。。。残念です。
「ATL COM プログラミング」にウインドウクラスの話題があったかどうか覚えていないので、まずそれを確認してから「ATLインターナル」を読みたいと思います。
それと、サンプルのAlphaって、XPじゃないとコンパイルできないのでしょうか?
0081デフォルトの名無しさん
NGNGAlpha って、コモンコントロールのサンプル?
WINVER とか その辺のマクロを直せばコンパイルとおるだろ
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGWTLを使って見たいのですが、これはSDKには含まれて
いないのでしょうか?個別に落す必要があるのなら
それはそれで構わないのですが。。。どうなんでしょうか?
0085デフォルトの名無しさん
NGNGで落とせる
0086デフォルトの名無しさん
NGNGさんくす個。とりあえず、内容なので落したの入れてみました。
MFCすらつかったことがないので、WTLのよさが分るかどうか
ちょっと怪しいんですが、いろいろソース読んだりして勉強したい
です。
0087デフォルトの名無しさん
NGNGhttp://www.mars.dti.ne.jp/~kattoshi/Program/Install/Install.html
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGどとねとに移行しなされ。
0093デフォルトの名無しさん
NGNGそうでもない。
0094デフォルトの名無しさん
NGNGクラスウィザードも使えないし...
0095デフォルトの名無しさん
NGNG誰かバカにもわかるように解説してりろ。
009694
NGNGWTLで検索していたので見つからなかったみたいで、
ATLで探したら簡単に見つかりました。
>>95
下記のページが参考になるかも?
ttp://www.nitoyon.com/vc/tips/ie_component.htm
0098デフォルトの名無しさん
NGNGCComBSTR → char* への変換教えてください。
0099デフォルトの名無しさん
NGNGCComBSTR bstr;
CString tmp((BSTR)bstr);
でいけた。
くそったれが。さいしょからbstr.GetAnsiChar()でも用意しときやがれ
0100デフォルトの名無しさん
NGNGCString使うなって。マクロで確かW2T(?)があったはず・・・。
bstr_tならLPCTSTRにキャスト可能。
0101デフォルトの名無しさん
NGNG昔は変換の為にBSTR型を大量に宣言してAllocしてたけど、
解放し忘れでメモリリークしたりして大変だったような・・・。
0102デフォルトの名無しさん
NGNGSystem Requirements
Microsoft Visual C++® .NET or Visual C++ 6.0
0103デフォルトの名無しさん
NGNGありがとん。やっぱ何かしらあるとは思ったよ。
しかしW2Tって。。なんちゅーネーミングだ。付けたヤシはカッコイイとでも思ってんのかね
検索してもW2Tなんて出てきた所で気がつきゃしないよ。もっと直感的な名前にしる
0104名無し@沢村
NGNG十分直感的な名前やろ。あんたの勘が悪いだけ。
あと、char*への変換が目的ならW2Aにしとけよ。分かったな。
俺なら_bstr_tかWideCharToMultiByte()使うけどな。
0105デフォルトの名無しさん
NGNG共有荒らしハンドルとして定着ですか
0106デフォルトの名無しさん
NGNGATL7.0 なら、CA2WEX とか CW2AEX とかの、
C*2[C]*EX テンプレートクラスを使え。
そのほうがより安全だ。
0107デフォルトの名無しさん
NGNG_ATL_MIN_CRT ってやってると リリース・ビルド が通らん!
愚痴なのでスルーで。
0108デフォルトの名無しさん
NGNGfstreamとかiostream使うとすぐにでかくなっちゃう。
テンプレート実装のfstreamとかあればいいのに。
0110デフォルトの名無しさん
NGNGmemcpy とかCのランタイム関数使ってるからでしょ。
APIに置き換えればいいはずだったと思う。たぶん。
0111デフォルトの名無しさん
NGNGどうしたらいいですか?
0112デフォルトの名無しさん
NGNG漏れもそのサイトのソースをいじろうとしたのですが、VC++.NETではだめだったりしますか?
コンパイルは通るのですが、AtlAxGetControlあたりで処理が引っかかってるらしく、
IE不在のダイアログしかできないです。
それとも単に、ビルドのオプションを間違えているのでしょうか?
0114デフォルトの名無しさん
NGNG0115
NGNG0116デフォルトの名無しさん
NGNG似非沢村、増殖中。
0117IP記録実験
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を提出することがある。
0118デフォルトの名無しさん
NGNG逝き遅れの妹発見
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG去年まで働いてたんだけど、ひきこもってオンラインボンバーマンで
二年で350点貯めた。一度やってみなよ。
身内で不正だけど、6人くらいでシングル3たてすれば800点くらい貰える。
点数だけ稼いで得点トップなら目立つ事ができるし、序盤ブローグでで赤ボンか黒ボンに
思い切って投げてしまえば50パーセントくらい殺せる。
荒らしが入ればサーバー変えるだけ。暇つぶしになる。
味噌ボンとかぎんぎんパワーあるのでまじオススメ。
http://www.bomberman-online.com/
0122デフォルトの名無しさん
NGNG来ないと言うやつは又来るが、さようならと言った次のレスにもうコピペする奴は珍しい。
0123デフォルトの名無しさん
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
────────────────────────────
0124デフォルトの名無しさん
NGNGlive2 : ニュース速報
tmp : ニュース極東 ちくり裏事情 政治思想 Download
厨房! 人権問題 バカニュース 薬・違法
ゴーマニズム ロビー 最悪 少年犯罪
違反の潰し方 ペット苦手 なんでもあり 学歴
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGqb : 2ch批判要望 削除議論 削除要請 削除整理
live2 : ニュース速報
tmp : ニュース極東 ちくり裏事情 政治思想 Download
厨房! 人権問題 バカニュース 薬・違法
ゴーマニズム ロビー 最悪 少年犯罪
違反の潰し方 ペット苦手 なんでもあり 学歴
0127デフォルトの名無しさん
NGNGトリップだってさ
全然ボツ。
0128デフォルトの名無しさん
NGNG最高裁いっても新しい事実とかが無い限り逆転はないわな。
弁護士やとっても無駄金を取られるだけになってしまうだろうな。
ここはみんなで400万集める方法を考えた方がいいと思うぞ。
0129あげ
NGNGboostやloki使うほうがいいよな?
まー、適材適所なのだが。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNGあるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。
http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html
0132デフォルトの名無しさん
NGNGそーか? ATL の CComPtr はよく出来ていると思うがな。
Loki の ComRefCounted ポリシーは穴だらけ。
0133129
NGNGあげついでになんとなくしったかぶって発言してみました。
正直lokiもATLもまだ使ってないっす。
boostとWTLは使ってるんだけどね。
ところでATLでboost/lokiよりすぐれてると思われるものってほかにありますかね?
それにしても日本語の情報サイトってすくないなー。
英語めんどくせー。
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG観念しなさい
0136デフォルトの名無しさん
NGNG110番の日なのは狙ったのかな。
0137デフォルトの名無しさん
NGNG俺は「2ちゃんねるってなに?」に投票してきたけど。
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG↓
http://ex2.2ch.net/test/read.cgi/morningcoffee/1041906510/29
0140デフォルトの名無しさん
NGNGATL無しでWTLを使う方法を教えて下さい。
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0144デフォルトの名無しさん
NGNG今までもやってたくせに
0145デフォルトの名無しさん
NGNGおまいら、時給20003円の仕事めっけ!
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGお願いします。
0148デフォルトの名無しさん
NGNGhttp://life2.2ch.net/test/read.cgi/offevent/1042037013/
みんなで2ちゃんユニフォームを作ってワショーイしよう!
同じカッコしたちゃねらーで街を埋め尽くそう!
ユニフォーム代はなんと無料です!
↓ここを利用します。
http://www.getuniform.com/
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGださくないか?
(笑)もザサイから、(^^)がナウイよ。
0151デフォルトの名無しさん
NGNGニュース速報板だからね。
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG正直どうでもいいような気がするんだなぁ。
0154デフォルトの名無しさん
NGNG↓
ヽ(*`Д´)ノぬっころぬ!!!!
0155デフォルトの名無しさん
NGNGそのとき裁判官は「条理」を根拠にします。社会的常識も条理です。
内容証明でなくても裁判で事実を証明できれば勝てます。
プロバイダ責任制限法の条文を読んだけど、どうして免責の対象になるのか?教えてくれる?
0156デフォルトの名無しさん
NGNG0157山崎渉
NGNG0158デフォルトの名無しさん
NGNG0159山崎渉
NGNG0160デフォルトの名無しさん
NGNG0161山崎渉
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGATLって作るのは簡単なんだけど、多分メンテできる人が少ないから避けられると思う。
しかもほとんどのSEはATLって何か知らないから、ATLでやったほうがいい、っていっても却下される。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGGUIの強みもLonghornで無くなる。
0168デフォルトの名無しさん
NGNGなんでこんな面倒な事をするのかよくわからななくなったので
やめました。
0169デフォルトの名無しさん
NGNGVBみたいな存在になりつつある。嫌過ぎ。
0170デフォルトの名無しさん
NGNGATLがVBみたいな存在なの?
どういう意味で?
0171デフォルトの名無しさん
NGNGしかもほとんどのSEはVBって何か知らないから、VBでやったほうがいい、っていっても却下される。
0172デフォルトの名無しさん
NGNG169じゃないけど。MFCがVBみたいなんじゃないかなあ。
APIレベルの動作を知らないで変なことをやっちゃう人が
多いんでしょ。オレも5年くらい前はかなりそんなの作ってた。
>171
ネタ?ATLについてならそういうこと言えるかも。
0173デフォルトの名無しさん
NGNGしかもほとんどのSEはMFCって何か知らないから、MFCでやったほうがいい、っていっても却下される。
0174テンプレ
NGNGしかもほとんどのSEは○○って何か知らないから、MFCでやったほうがいい、っていっても却下される。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGclass CFileView : public CWindowImpl<CFileView, CListViewCtrl>
リストビュー生成したんだけど、
これの初期化(カラムの追加とか)ってどこでやればいいの?
OnCreate作ってやっても追加できなかったんだけど。
同じコードをOnChar作って書くと
キー押せばちゃんと追加されるのは確認済み。
0178デフォルトの名無しさん
NGNG0179177
NGNGありがとう。自分のミスでした。
OnCreateをオーバーライドしたら自分でDefWindowProcも
呼んであげないといけないのね。
呼んでなかったので、リストビュー自体が作られてなかったみたいです。
呼ぶようにしたらできました。初心者でスマソ。
0180デフォルトの名無しさん
NGNG日本語ページほとんど無いし、Donutくらいしか使ってるソフト無いし。
テンプレートベースだから実行ファイルは小さいしランタイムもいらないし、
MFCをシェイプアップした感じのクラス構成は使いやすいし、
生API+C++で書くのと違ってわざわざGetWindowLongでthis変数取得したりしなくても
ちゃんとOOできるし。
WindowsのGUIライブラリとしては最強だと思うんだけど。
0181デフォルトの名無しさん
NGNGサイズを追求するならフレームワークは自作するし、そうでないならMFCで十分
WTLは中途半端
0182デフォルトの名無しさん
NGNG時代は.NETだから。
商用ソフトはメーカーに見捨てられた時点で終わり。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGサイズを追及するなら普通WTLだろ?
「MFCで十分」ってのもおかしな表現だよな。
大掛かりなのはMFCの方なんだから、
普通は「WTLで十分」になるはずなんだが・・・
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGそういう「普通じゃない」場合には確かに使えないかもな。
Donutは一時期、「世界一小さいサイズのタブブラウザ」とか言ってたけど、
WTLはサイズがかなり小さめなのは確か。
0189デフォルトの名無しさん
NGNG小さいexeを要求するユーザほどUPXは嫌がるんだよね。
実力で小さくして欲しいらしい。
0190デフォルトの名無しさん
NGNGほとんどのPGがテンプレート拒否症なだけのような気が。
テンプレート好んで使うような香具師は、
Windowsプログラミングなんてやってなさそう。
0191デフォルトの名無しさん
NGNGUPXだと複数起動時に読み込み専用領域が共有されないし
もっともほとんどは真面目にREBASEしてないから関係ないが
0192デフォルトの名無しさん
NGNGまあ大多数のPGのレベルなんてそんなもんだよなぁ。
0193デフォルトの名無しさん
NGNG…WTL用のウィザードってあったっけ?
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG個人レベルでも?
0196デフォルトの名無しさん
NGNGMSが宣伝しないとWTLがあること自体知らない人も多いだろう。
0197デフォルトの名無しさん
NGNG持ってないから知らないんだけど。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG意外にクセになるよ。麻薬みたいなもん。
0200デフォルトの名無しさん
NGNGソース見ればだいたい解るからな。
0201デフォルトの名無しさん
NGNG外人の方がレベル高いって事?
0202デフォルトの名無しさん
NGNGAPIを薄くラッピングしただけにすぎないし、
そこそこやってるなら自前で作ってただろうし(出るのが遅すぎ)
そうでない人はMFCで満足してるかB系に流れるか。
0203デフォルトの名無しさん
NGNG出来がいいはず。
そのままAPI使うよりは、オブジェクト指向やジェネリックプログラミングを
格段に導入しやすくなってる。
MFCみたいにランタイムが必要なわけでもないし、設計が悪いわけでもない。
0204デフォルトの名無しさん
NGNGきっとリンクリストの再発明も繰り返してるんだろうな
STL? 自作したほうが効率がいいに決まってるじゃない
0205デフォルトの名無しさん
NGNG今まで自作で間に合ってきたから
わざわざ乗り換える必然性が無いというか
0206デフォルトの名無しさん
NGNG> 出るのが遅すぎ
ってこったな。
0207デフォルトの名無しさん
NGNGWTL使いが.NET使いに抜かされていくわけですね。
0208デフォルトの名無しさん
NGNGどういう意味で"抜かされる"のですか?
0209デフォルトの名無しさん
NGNG開発効率
0210デフォルトの名無しさん
NGNGWTLも自作フレームワークも、つぶしのきかない技術であることに変わりはないな
0211デフォルトの名無しさん
NGNGそれでもカビの生えたWTLよりは使われていくだろう。
.NETの寿命は短いかもしれないが。
0212デフォルトの名無しさん
NGNG>はたしてWTLが実用的なのかと小一時間
( ´,_ゝ`)プゥー 実用できるほど学習する能力が君に無いだけだろ
0213デフォルトの名無しさん
NGNG.NET > WTL > 自作フレームワーク
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGテンプレート使うの?
あと、WTLってテンプレート使ってるのがMFCとの根本的な違いだと思うけど、
それで何が良くなるの?
サンプルを見た感じだと普通にクラスの継承を使ってるし、MFCとの違いが
イマイチよくわから無かった。
0217デフォルトの名無しさん
NGNGであってる?
IDLファイルとか作らなくてイイヤツの事?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGバグが出にくい、デバッグしやすい、再利用がしやすい、
つまり開発効率いい方から順に
Swing > AWT > WTL > 自作フレームワーク >>>>>ジェリコの壁>>>>> .NET
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG全部ネットに載ってるけどね。
0223デフォルトの名無しさん
NGNGURLキボンヌ。
最新のバージョンは結構バグが直ったって聞いたけどなぁ。
0224デフォルトの名無しさん
NGNGhttp://members.jcom.home.ne.jp/rapt/files/src/DonutRAPT_40_src.cab
の中とか、海外のMLとか
0225デフォルトの名無しさん
NGNGリソースのバージョンが反映されていないんだけど俺だけ?
後で出来たDLLのプロパティ見ても空っぽになってる。
0226デフォルトの名無しさん
NGNG初心者が良くやるやつだな
0227デフォルトの名無しさん
NGNGえ?
どこ直すの?
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGどこどこ?
マジでわかんない。
つか.NETからだよね、これって。
VC++6.0じゃこんなこと無かったし。
0230デフォルトの名無しさん
NGNGWTL7も相当バグってるな。
0231デフォルトの名無しさん
NGNGマイナー & MSにやる気がないことの現れだな
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGWTLのソースをその都度変えちゃってる。
バグなのかどうかはわからんが。
0234デフォルトの名無しさん
NGNGΣ( ̄▽ ̄;)
0235デフォルトの名無しさん
NGNG改変したWTLのソースごと持ち運んでも大したサイズにならないんだし、
別にいいんじゃない?
0236235
NGNG改変部分のdiffを取って同梱するか、
Raptみたいに改変したファイルだけ付属しちゃえばいいんだし。
0237デフォルトの名無しさん
NGNGDLLが出回って収拾つかなくなったりもしないし
0238デフォルトの名無しさん
NGNGATLもそうなの?
0239デフォルトの名無しさん
NGNG「スタティックリンクしかしないからいいじゃん」
っていってる厨と同レベルだな
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG差分だけで同一性保持権の侵害に問われる可能性もなくはないが
プログラムの著作物でバグ取りという前提だからさらに無問題
0244デフォルトの名無しさん
NGNGCMenuの実装見てもオーナードローらしきコードは見当たらないし。
0245225
NGNGどうしても.NETのATLプロジェクトでバージョンが
反映されないのが分からない。
たすけて・・・。
0246デフォルトの名無しさん
NGNG自分のソースとライブラリのソースを、変更しなくて済むようにするためだろ。
なに? WTLはもうバージョンアップしない??
0247デフォルトの名無しさん
NGNGクリーンビルドじゃ駄目か?
0248デフォルトの名無しさん
NGNGバージョンアップしたらまた直すが。
つーか、バグだろうし。
0249225
NGNGさんくす。
それもダメでした。
いくつか作ったけど、どれもこれもダメ。
プロキシ/スタブの方は問題なく反映される。
環境も会社と家ので試したけどどちらもダメ。
他のみんなは反映されてるの?
0250デフォルトの名無しさん
NGNGこれから勉強しよ〜っと。
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNGコンパイルオプションの設定が悪い
0253250
NGNGVC7だと毎回「古い形式じゃゴルァ!」と出るのがウザイんだけど・・・
0254デフォルトの名無しさん
NGNGどこがどう古い形式なんだ?
0255250
NGNGあれ、初めの一回だけ?
もう出なくなった。
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG0258名無しさん♯
NGNG1. AppWiz70\setup.jsの変更
var strVC7Key = "HKLM\\Software\\Microsoft\\VisualStudio\\7.1\\Setup\\VC\\ProductDir";
↑
2. AppWiz70\Files\WTLApp70.vszの変更
Wizard=VsWizard.VsWizardEngine.7.1
↑
3. セットアップ実行
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG4月か5月に出る。
0261デフォルトの名無しさん
NGNGCMessageFilterとかWTLの独自アイテムの定義に「定義に移動」で
たどり着けないのですが、そういうものと思ってあきらめた方がいいですか?
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264261
NGNG0265デフォルトの名無しさん
NGNG古いDLLがHogeHoge.dllだとします。
で、新しい関数を追加した新しいDLLはHogeHoge2.dllです。
新しい関数はまだ信頼性が保証できないので、二つのDLLを共存させたいんです。
そこで古いプロジェクトに関数を追加して、GUIDを変えたんですが、うまく動きません。
0266265
NGNG0267263
NGNGinludeのパス、libのパス、そしてsrcのパス!
0268263
NGNG0269デフォルトの名無しさん
NGNGlib , src は include と同じでいいのかな?
WTLってIncludeしかないよね?
0270263
NGNG普通のライブラリのつもりでいた。逝ってくるよ…
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273ネニグレクト・ラーファ
NGNG「世界の仕組み研究所!!」
何か質問があったらおいらにかかってこいでつ。
活動してなかったけど世界の仕組み研究所は生まれ変わるでつ。
ちょっとづつHTMLがちょっと分かってきたので少しづつアップするでつ。
0274bloom
NGNG0275デフォルトの名無しさん
NGNGttp://www.codeproject.com/wtl/
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGATLはダウンロード出来ないはず
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGP2PでVC++ごと落とせ
0281
NGNG0282デフォルトの名無しさん
NGNGMFCとの対応表みたいなの作ってくれるといいのだが・・・
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG>>282
0285デフォルトの名無しさん
NGNG職場に保守できる人がないみたいだからから使ってない。
0286デフォルトの名無しさん
NGNG∩(・・
職場でC++ 使えるの自分だけだし。
だから、結構自分勝手にやってる。
何よりMFC触ったことがない!
0287デフォルトの名無しさん
NGNGもしかしてMFC必須なのか…
そもそもC++すら活かせそうにないけど(´Д⊂
0288283
NGNG>何よりMFC触ったことがない!
(・∀・)イイ!!
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291283
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGLicense requirements
Must be simple to read and understand.
Must grant permission without fee to copy, use and modify the software for any use (commercial and non-commercial).
Must require that the license appear on all copies of the software source code.
Must not require that the license appear with executables or other binary uses of the library.
Must not require that the source code be available for execution or other binary uses of the library.
May restrict the use of the name and description of the library to the standard version found on the Boost web site.
0294デフォルトの名無しさん
NGNG>Must be simple to read and understand.
いいな、これw
こういうの好きだ。
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298かおりん祭り
NGNG〜oノハヽo〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^▽^) < こんなのがございまーす♪
= ⊂ ) \_______
= (__/"(__) トテテテ...
0299あぼーん
NGNGhttp://muryou.gasuki.com/moe/hankaku10.html
http://muryou.gasuki.com/moe/hankaku09.html
http://muryou.gasuki.com/moe/hankaku08.html
http://muryou.gasuki.com/moe/hankaku07.html
http://muryou.gasuki.com/moe/hankaku06.html
http://muryou.gasuki.com/moe/hankaku05.html
http://muryou.gasuki.com/moe/hankaku04.html
http://muryou.gasuki.com/moe/hankaku03.html
http://muryou.gasuki.com/moe/hankaku02.html
http://muryou.gasuki.com/moe/hankaku01.html
0300デフォルトの名無しさん
NGNGスコットさんも出るらしい
ttp://www.idevresource.com/wtl/issues.asp
0301デフォルトの名無しさん
NGNGスコットってあの、デジタルカウボーイ"Juranek Scott"か!
こいつは、やばいことになってきたな…
0302デフォルトの名無しさん
NGNGMFC7で作ると動かないので、VS.NET以降でのネイティブアプリは
WTL+C++標準ライブラリがいいかなぁと思ってるのですがどうでしょう?
意見を聞かせてください。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGVS6のソースviewとリソースviewみたいな感じの。
もしかして同じ子Frameクラスを継承すればいいだけ?
0305
NGNGデケデケ | |
ドコドコ < 小泉政権崩壊まだぁ〜!? >
☆ ドムドム |_ _ _ _ _ _ _ _ _ _|
☆ ダダダダ! ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨
ドシャーン! ヽ オラオラッ!! ♪
=≡= ∧_∧ ☆
♪ / 〃(・∀・ #) / シャンシャン
♪ 〆 ┌\と\と.ヾ∈≡∋ゞ
|| γ ⌒ヽヽコ ノ ||
|| ΣΣ .|:::|∪〓 || ♪
./|\人 _.ノノ _||_. /|\
ドチドチ!
0306デフォルトの名無しさん
NGNGCComModule使わないと駄目ですか?
0307デフォルトの名無しさん
NGNG0308
NGNG0309山崎渉
NGNG0310デフォルトの名無しさん
NGNGえ、効いてない?
0311デフォルトの名無しさん
NGNG0313
NGNG0314デフォルトの名無しさん
NGNGWTLのウィザードで生成される
BEGIN_MSG_MAP(CMainDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
END_MSG_MAP()
みたいなのって、もしかしてMFCの部類のマクロですか?
0315デフォルトの名無しさん
NGNG互換性はあるのかどうか分からんけど、とりあえず>>284参照してみて
0316デフォルトの名無しさん
NGNGWTLのAppWizardで吐き出した、モードレスダイアログの
テンプレを、他のプロジェクトで使おうと思っていたのですが、
終了時に問題がでちゃいます。流れとしては、
別アプリのウィンドウ生成
COMを初期化
メニューからダイアログ表示を選ばれたら、
以下のようにモードレスダイアログ表示。(Wizardが吐き出した通り)
CMainDlg dlg;
CMessageLoop theLoop;
_Module.AddMessageLoop(&theLoop);
dlg.ShowWindow(SW_SHOWDEFAULT);
theLoop.Run();
_Module.RemoveMessageLoop();
COM終了
という感じす。ダイアログ側から、自分でちゃんと
ダイアログを閉じてからアプリを終了する分には何の問題もありません。
ところが、ダイアログが開いたままだと、アプリ終了時にアプリ側より
ダイアログに終了メッセージを送ってから、アプリを終了すると、
何故かプロセスに残ってしまうんです。
そもそも使い方が悪いとか、何でも良いので助言頂けると幸いです。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNGモーダルダイアログじゃないのに
メッセージループを二つ使ってるみたいだけど
これは理解してやってるの?
0319デフォルトの名無しさん
NGNGSupported Operating Systems: Windows XP
Required disc space: 1.6 MB
Microsoft Visual C++ .NET or Visual C++ 6.0
って書いてあるけどWin2000でも開発できるの?
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG何の話?
0322デフォルトの名無しさん
NGNGあぁごめん。WTL7.0の話。ダウンロードページに>>319のように書いてあったので。
0323316
NGNGレスありがとうございます。
申し訳ないです、かなり理解してないかもしれません。
アプリのメインウィンドウの方は普通に(つまりWTLの
フレーム関係なしに)初期化しております。
その上で別途モードレスダイアログを立ち上げています。
・・・・書いている内に、かなり変な事している気がしてきました。
やはりメインウィンドウも、WTLを使った形で
生成するべきでしょうか。もう少し良く考えてみます。
0324デフォルトの名無しさん
NGNG「ATL?よく知らんけどCOMで何かすんだべ?俺には関係ないよ。」
と思っていたが、このスレやここからリンクするサイトを読んで、さらに今
MSDNの「ATL 3.0ウィンドウ クラス: 入門」を読んで考えを改めた。
これは1999年のドキュメントだが、俺は今までこんなすばらしいものを
見過ごしてきたのか。
2003年春、俺はATL/WTLに目覚める。
0325デフォルトの名無しさん
NGNG0326山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0327山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0328デフォルトの名無しさん
NGNG>これは1999年のドキュメントだが、俺は今までこんなすばらしいものを
>見過ごしてきたのか。
すまん。MSDNの「ATL 3.0ウィンドウ クラス: 入門」 を読んだんだが。
そんなほめられるモンじゃないと感じたけどねぇ。
C -> C++ つう流れで SDK -> WTL って考えると、なんでこんな感じになっちゃったの?
ってのが感想。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG>>328がMixinとtemplateを知らなかっただけ。
0333デフォルトの名無しさん
NGNG_, ._
( ゚ Д゚) ・・・
0334デフォルトの名無しさん
NGNGどんな感じになると思ったの?
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGMFC -> ATL/WTLはダメな人多いようだけど。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNGフィッシングはそろそろやめようや
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNGATL7で作ったプログラムはWin95でも動くのでしょうか?
0341デフォルトの名無しさん
NGNGManaged C++にATL7は使えますか?
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344340
NGNGもし動くなら.NET買おうかなと思ってるのですが・・・
0345動画直リン
NGNG0346デフォルトの名無しさん
NGNGログ読め
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGVS.NET2003のはATL7.0のままなんだね。
あれ、フレなかった。
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG違います。
VS.NET 2003 では ATL 7.1 になってます。
0353デフォルトの名無しさん
NGNGの9にATL7.0とあるが・・
0354352
NGNG4月分のMSDNライブラリ見た?
「ATL 7.1」で検索すると VS.NET 2003 が ATL 7.1 になってるのがわかるよ。
_ATL_VER も 0x0700 じゃなくて、0x0710 って定義されてます。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGWTLを使う方法
早くきぼんぬ
0359デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNGこんな痛い言い訳、書かない方がマシなのに。
0362デフォルトの名無しさん
NGNG既にこんなんがあるんじゃん。タイヤ作りまくり。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGごめん、>>364に対してのレスなんだ<更新
それとも>>363のような人たちがたくさんいて、今まさに更新されてるって意味なのかな??
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNGリストビューやスレッドやvectorのような動的に拡張できる配列も簡単に使いたく、
ATL/WTLが最適かと思ったけど内部でCRT使ってるならかなわぬ夢か・・・
0379デフォルトの名無しさん
NGNGだから、ATL_MIN_CRT をつければ CRT を使っているとコンパイルエラーになるよ。
#define ATL_MIN_CRT の状態でコンパイルが通るようにしればOK
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG6月に2003買おう。でも今回はMSDNデラックスEditionが無いので(´・ω・`)ショボーン。
0387デフォルトの名無しさん
NGNGえ!マジで
0388デフォルトの名無しさん
NGNGあるよ
0389デフォルトの名無しさん
NGNGどっかに書いてある?MSのメールには無かったが・・・
0390デフォルトの名無しさん
NGNGここ見るとデラックス版あったよ。
0391山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGうんざりだよどうせ流行んないよいいよいいよMFCと心中するよぬるぽ
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGそんな君にはwxWindowsをお勧めするよ
0396デフォルトの名無しさん
NGNGスレ違い
0397デフォルトの名無しさん
NGNGガッ
0398デフォルトの名無しさん
NGNGどうやってもGETとして扱われてるみたいです。
0399デフォルトの名無しさん
NGNGPostDataがNULLだとGETになりますな。
ハズしてたら恥ずかしい。
0400デフォルトの名無しさん
NGNGThanks。
PostDataには、いろいろ入れて試してみてるんだけど、POST先のContext-Typeと相違があったら、PostDataはNULLとみなされるらしいっす。
CByteArray型でエンコードした内容を入れなきゃならないらしいけど、このエンコードがうまくいってないみたいです。
というところまではわかったんだけど、CStringをBYTE配列に入れて渡してみてもだめでした。
0401サンプルです
NGNGhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0402デフォルトの名無しさん
NGNGありがとうございます。
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGスレ立てないの?
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGCreateSimpleReBar()のスタイルをいろいろ変えてみてもどうもうまくいかない…。
どうすれば実現できるか、どなたかわかりませんでしょうか。
0409デフォルトの名無しさん
NGNGSpy++でIEのReBarと自分のReBarのスタイルを比べてみるといいよ。
0410408
NGNGありがとうございます。
比較してみたもののどうにもうまくいかず…と思いさらに調査していたら、
hp.vector.co.jp/authors/VA016589/wtl/bugs/bugs.html
に同じ症状が見つかりました。自力で描画しないといけないのか…。むむ。
0411409
NGNGやっぱこれで描画するしかないのか……
0412デフォルトの名無しさん
NGNGATLプロジェクトのサービス(exe)選んだけど
http://program.station.ez-net.jp/special/vc/atl/service.asp
ここと同じところで引っかかった。
何か間違ってるのか・・・
0413デフォルトの名無しさん
NGNGCodeProject に載ってるよ。
PreMessageLoop にバグがあるから、直せば動くよ。
http://www.codeproject.com/atl/MigratingAtlServices.asp
0414デフォルトの名無しさん
NGNGありがとう。バグだったのか・・・
つーか2002のころからあるみたいだが
2003になってもなおってないとは
0415ゲイシ
NGNG0416デフォルトの名無しさん
NGNGWTL7.0のAppWizardで、普通にSDI Applicationを作成した後、
そのプロジェクトにcppファイルを一つでも加えると、次のエラーが出てしまいます。
「(加えたcppファイル名) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。」
原因を教えていただければ幸いです。
0417416
NGNG0418デフォルトの名無しさん
NGNGするか、もしくは、プリコンパイル済みヘッダを使用しない設定にする。
0419デフォルトの名無しさん
NGNGレスありがとうございます、無事コンパイルできました。
プリコンパイルって、指定ヘッダをあらかじめまとめておく
…くらいの認識だったのですが、色々やっかいなんですねぇ
0420山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0421
NGNG意味わからん・・・
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGMSDNライブラリをプリントアウトすれば?
0425山崎 渉
NGNG0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNGへー、ATL_MIN_CRTなんか使ってる人がいるんだ。
0428山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNG書籍がVC6のばかりだから、とりあえずVC6で勉強してるんですが。
0431デフォルトの名無しさん
NGNGいろいろ便利になってるし。
0432430
NGNGVC.netで作ってもCOMなんだから、VB6からも普通に使えますよね?
0433名無し@沢村
NGNGおう
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNGムリピョーン
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGWTLは使ったことないから知らないけど。
0441デフォルトの名無しさん
NGNGPlatformSDKだけでいいし、そんなことみんな知ってるし、
>WTLは使ったことないから知らないけど。
じゃあレスするなと。
0442デフォルトの名無しさん
NGNGハァ?PSDKにcl.exe含まれてないだろ。
0443デフォルトの名無しさん
NGNGAtlLoadStringみたいなユーティリティ的な普通の関数もいくつか混ぜたいが、
あいにくそいつはinlineにはできないとする。
そういう場合どうします?
ヘッダの方は宣言だけにして大人しく.cppに実装するってのもイマイチだし。
ダミークラス作ったりするしかないのかなぁ。
何かいい案はないでしょうか。
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGC++とかテンプレートスレでは?
0447デフォルトの名無しさん
NGNGカスタムのProxy/Stubを組み込みたいんだけど、
通常にCoCreateInstanceすると
UI−CTLのように直接呼び出されちゃうんです。
そうしたら、Proxy/Stubを通るようになるんでしょうか?
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452450
NGNGでもただのテンプレートだし、Win32APIしか使ってないし…
そりゃ、さすがにウィザードは使えないだろうけどね
0453デフォルトの名無しさん
NGNGそりゃあATLの拡張なんだから
0454デフォルトの名無しさん
NGNGウィザードはインストールできたし、コードも吐くんだけど、コンパイルが通らん。
atl***.hがインクルードできませんと出る。
0455デフォルトの名無しさん
NGNGインクルードファイルのパス通した?
0456デフォルトの名無しさん
NGNGVC6の時はやらなかったような記憶があったスマソ
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459454&456
NGNG恥ずかしい。逝ってきます。
0460デフォルトの名無しさん
NGNGerror C2065: '_convert' : 定義されていない識別子です。
など他にもエラーが出るけどどういうこと。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNGttp://groups.yahoo.com/group/wtl/message/5373
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGttp://www.codeproject.com/wtl/
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG自分でつくれ素敵マン
0469デフォルトの名無しさん
NGNG自分で作ったら同じようなsetup.jsになった…。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGOnlineMSDNで検索したんだけど無さげ。
0472デフォルトの名無しさん
NGNGプログラムを作っても、リリースビルドで36kbありました。
http://www.microsoft.com/japan/msdn/library/ja/vccore/html/vclrfBenefitsTradeoffsOfUsing_ATL_MIN_CRT.asp
を見るとCRTを使わないので小さくなるとあるのですが、
もしかしてVC++6.0では小さくならないんでしょうか?
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG>>472の答えにはなってないかと。
0475デフォルトの名無しさん
NGNG比較対象の (_ATL_MIN_CRT 使ってない) プログラムに CRT をスタティックリンク
してないとか。MSVCRT.DLL 使ってたらサイズ比較は意味無いぞ。
0476デフォルトの名無しさん
NGNGシングルスレッド用ライブラリをスタティックリンクしています。
Win32Appプロジェクトなのですが、_ATL_MIN_CRT 以外にすることがあるのでしょうか。
0477デフォルトの名無しさん
NGNG作成途上なんどかビルドを繰り返していると、Warning LNK4006 やら error LNK2005がでるようになって
しまいました。 どちらも、"DllMain@12 が重複〜"という趣旨の警告を出しているのですが、その当たり
をさわってもいなければ、リンクの設定も弄っていない状態です。
同じような症状にあわれた方、対処法ご存じの方いらっしゃいませんでしょうか?
0478デフォルトの名無しさん
NGNGOnInitializedをオーバーライドしないといけないんだよね?
それと、もしMFCだと基底クラスでOnInitializedが仮想関数で、派生クラスで
それをオーバーライドすると思うんだけど、そうしないでテンプレートでやる利点て何?
0479
NGNG後者だけ。
仮想関数方式だと、基底クラスで定義された非 virtual な関数は派生クラス
側で変更できないので、柔軟性を持たせるにはなんでもかんでも virtual に
するしかなくって、vtbl が肥大化するし効率あまり良くないから。
あと仮想基底クラスを使わなくても良いのでなんとなく安心っていうのもある。
0480デフォルトの名無しさん
NGNGなるほど、たしかにWTLの売りを考えるとその通りだ。
0481デフォルトの名無しさん
NGNGあったと思うんだけど、あれってどういうコードだっけ?
MSDNには既存のHWNDをアタッチする方法はあるんだけど、Createで作る例は
見つからないです。
0482デフォルトの名無しさん
NGNGウィンドウクラスのスタイルを変えるにはどうすれば良いのでしょうか?
こんな風にやってもうまくいきません…
CMainFrame main_frame;
main_frame.CreateEx();
CFrameWndClassInfo& ci = main_frame.GetWndClassInfo();
ci.m_wc.style |= CS_DBLCLKS;
RegisterClassEx( &ci.m_wc );
0483482
NGNG0484デフォルトの名無しさん
NGNGWin32API の基礎から勉強しなおせ。
0485デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1064204112/
0486デフォルトの名無しさん
NGNGATL COM AppWizardからサービス(exe)を作成しています。
MFC関連を使いたくて(職場の規約でCStringを使わねばならない)#include <afxwin.h>を定義したところ
次のエラーが発生
ソースファイル名 : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
初心者なりに色々テストしてみて #include <atlbase.h> と競合してるところまでわかりましたが
ATL COM AppWizardのサービス(exe)で なんとかMFCを使うことはできないのでしょうか?
お願いします。
0487デフォルトの名無しさん
NGNG0488頭悪い ◆gGTEz68pSM
NGNG0489486
NGNGCStringTですか。聞いたことすらありませんでした。うわー
個人的に興味があるので調べてみます。
0490デフォルトの名無しさん
NGNGWTLコントロールクラスに対してインテリセンス(メンバ自動表示)が効かないんですが、
どうすれば効くように出来ますか?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGヘッダ名かぶってるし互換性ないし。
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG俺は工夫して使ってるけどな。
しかも属性付きで。
0497デフォルトの名無しさん
NGNG別にヘッダ名はかぶってないし、
それぞれ ATL/WTL namespace に入っているからシンボルが衝突することもない。
同機能のクラスが2つあるのが嫌なら、
#define _WTL_NO_CSTRING, _WTL_NO_WTYPES, _WTL_NO_UNION_CLASSES
のあたりを定義すればATL版を使ってくれる。
まったく問題なく使えるよ。
0498デフォルトの名無しさん
NGNGnamespace WTL
{
static ATL::CAtlBaseModule& _Module = _AtlBaseModule;
}
をはさんでる。
もっといい方法あるかしら?
0499デフォルトの名無しさん
NGNG逆に”_ATL_NO_CSTRING”みたいのは無いんですかね。
インテリセンスの表示メンバがATLのCStringのものになっていて、
非常に鬱陶しいのですが・・・
0500デフォルトの名無しさん
NGNGATL::CString も WTL::CString もほぼ MFC::CString 互換なんだから、ATL版でいいじゃん?
VC6でもコンパイルしたいとかの理由があるの?
>>490 にも重なるが、WTLヘッダを自分のプロジェクト内に入れれば、
インテリセンスが効くようになるかも。
0501499
NGNGWTLのヘッダはプロジェクトに追加してるんですが、
CStringだけはATLの内容が表示される・・・
Tokenizeとか各関数の定義が微妙に違って、使いずらいんですよねぇ。
ちなみに環境はVC2003です。
0502デフォルトの名無しさん
NGNGMFCみたいなヘビーなのはいらないけどCMenu/CButton等のうす〜いラッパーはすげー使いやすいのに。
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNG例えば?
0506デフォルトの名無しさん
NGNGおじさんつまんなーい
0507デフォルトの名無しさん
NGNG503 「Wunkoで〜〜す!!」
0508503
NGNG815 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 18:18
WTLのフレームはツールバーが上、ステータスバーが下と決め打ちしてるから、それしかない。
独自のフレームクラスを定義するしかないな。
0509デフォルトの名無しさん
NGNG0510503
NGNGマンドクセ
809 名前:808[sage] 投稿日:03/03/10 23:49
出来たと思ったのですが、
下部に作成する事は出来たのですが、
ステータスバー属性にCCS_TOPを追加して上部に作成しようとすると
リストビューのカラムの名前を表示する部分と重なってしまいます。
上部に追加するのは無理でしょうか…
CreateSimpleStatusBar("", WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN |
WS_CLIPSIBLINGS | CCS_TOP);
0511デフォルトの名無しさん
NGNG単にViewをAppWizardのままにしてるからだろ。
0512デフォルトの名無しさん
NGNGそんなもんWTLに限らずSDKでやったって工夫しなきゃ重なるって。
0513デフォルトの名無しさん
NGNGCFrameWindowImplBase::UpdateBarsPosition() を修正したら?
ライブラリ自体の修正が簡単なのも、WTLのメリットと言えなくもないんだから。
上部ステータスバーなんて誰も使わないけどな。
0514503
NGNG0515デフォルトの名無しさん
NGNG2画面ファイラとかがよく使ってるよ
0516デフォルトの名無しさん
NGNGっていうか騙りかもしれないしどってことない問題だから以後放置で。
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNGWTL の atlctrls.h 相当のコントロールラッパが詰まっていて、
何らかの理由で WTL を使いたくないときにはとても便利。
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG氏ね
0521デフォルトの名無しさん
NGNGやるにはどのようにしたらいいんでしょう?
0522デフォルトの名無しさん
NGNGIDLではメソッドのオーバーロードは禁止されてるから無理じゃないか?
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGコード補完がうまく効かないのが辛いよね。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNG継承したコントロールにそのコントロールがする処理を書きますか?
それとも、継承する必要が無いコントロールはそのまま使って、フレームクラスでNotifyMessage拾って処理を書きますか?
0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNGすっごい遅レスなんだが俺もいま同じとこではまってる。
AtlAxGetControl が FAILED 返すので何も起き様がない。
VisualStudio6のころつくったプロジェクトを、
VS.NET2003でコンパイルし直しただけなのになぁ。
もちろんVS6時代にビルドしたexeは期待通り実行されるのに。
なんでですか?
0530デフォルトの名無しさん
NGNGVS.NET2003、WinXP(SP1) の環境で動きましたよ。
CreateWindow("AtlAxWin", ...) を
CreateWindow("AtlAxWin71", ...) にしただけですが。
アサートが何回か出ますが、それを無視して実行し続けてみたら、ブラウザが表示されましたよ。
0531デフォルトの名無しさん
NGNGProgID じゃなくて URL 指定して、CreateControl(_T("about:blank")) じゃダメ?
053294
NGNGが正解ではないかと思ふ
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNGMFCみたいにフレームワークを提供しているわけではないから、
Win32の知識だけで十分使いこなせないか?
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG親フレームで、NOTIFY_HANDLERを使って子コントロールの通知メッセージを拾いたいのですが、
子コントロールのIDはどうやったら分かるのでしょうか?
現在はIDを設定する方法が分からないので、
NOTIFY_CODE_HANDLERを使ってif文でコントロールごとに処理を分けているのですが、
これだとすぐにコードが汚くなってしまいます。
0538デフォルトの名無しさん
NGNGCWindow.Createの引数にID渡せるけどこれは違うのか?
0539デフォルトの名無しさん
NGNGWTL使ってる人って、意地で使ってるだけとちゃう?
0540デフォルトの名無しさん
NGNGどっか一部だけ…としたらどの辺が需要有るかな。
コモンコントロール周りはいらないよね。
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGSTLとかBoostとかiostreamとか使うとすぐ肥大化するから意味無いね。
0543デフォルトの名無しさん
NGNGATL で大抵事足りない?
0544デフォルトの名無しさん
NGNGMFCだとフレームワークに従わないといけないけど、
WTLなら独立性が高いので、ネジ・クギとして使えるのが嬉しい。
そもそもEXEサイズにこだわるのって、ほとんど自己満足だし。
0545デフォルトの名無しさん
NGNGCOMの開発はATLが主流なのかな。
0546デフォルトの名無しさん
NGNGCOMの本が読めるようになってきたw
迷う迷うw
0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG自分の枠組みでプログラムするのも自己満足だろ
そもそも、プログラム自体がじ(ry
0549デフォルトの名無しさん
NGNGMFCひととおりやったのですが、ATLを
やってみたいのですが、みなさんどんな書籍、サイト等が
お勧めでつか?
0550デフォルトの名無しさん
NGNGInside COM
0551デフォルトの名無しさん
NGNGマジレスだけど、Visual Studio についてくる MSのドキュメントが一番お勧め。
ATL, チュートリアルからはじめるのが吉。
0552デフォルトの名無しさん
NGNGしばらくATLから遠ざかったけど、またやろうかな。
遠ざかっていた間は、VBでCOM。VBだとかなり制限があるけど
COMの隠蔽度が高いって言うのか「COM作ってるぞ!」感が全然
無くってこれはこれで良かった。
#ただの独り言でした。
0553デフォルトの名無しさん
NGNGCAutoPtr< T > p1( new T() );
CAutoPtr< T > p2( p1 ); // アボーン
CAutoPtr< T > p1( new T() );
CAutoPtr< T > p2 = p1; // 正解
0554デフォルトの名無しさん
NGNGVC7.1のatlbase.hでは、ちゃんと所有権の譲渡が行われているが?
CAutoPtr( CAutoPtr< T >& p ) throw()
{
m_p = p.Detach(); // Transfer ownership
}
そもそも、その2つってまったく同じ意味だぞ?
0555デフォルトの名無しさん
NGNG漏れが今やってる仕事では、そこだけ boost::shared_ptr 使ってる。。
CComPtr 同等に使えて便利。
0556デフォルトの名無しさん
NGNGちなみに当方、VBでのコンポーネント作成はかなり理解してる方だと思います。
0557デフォルトの名無しさん
NGNGありがとう。同じようなことで悩んでたんだけどヒントになったよ。お礼に
ttp://userpages.umbc.edu/~bcorfm1/wtl.html
でどう?
0559デフォルトの名無しさん
NGNGCreateSimpleToolBar(0, ATL_SIMPLE_TOOLBAR_STYLE | TBSTYLE_FLAT);
ではなく、
CreateSimpleToolBar();
CWindow bar(m_hWndToolBar);
bar.ModifyStyle(0, TBSTYLE_FLAT);
とかしないとダメだよね?
http://www.codeproject.com/wtl/wtl4mfc3.asp
では前者の方法が紹介されてるけど、前者でもできる方法がある?
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG今更
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNGソースではTBaseから派生ってなってるけど
CButtonTの中でTBaseは特に使って無いみたいだし。
直接CWindowから派生させればいいと思うんだけど、そうしない理由は?
0567デフォルトの名無しさん
NGNG柔軟な設計が出来るから。
class CMyWindow : public CWindow;
typedef CButtonT<CMyWindow> CMyButton;
既存のクラス階層の「途中に」派生クラスを挿入できるのがメリットだと思うのだが。
0568デフォルトの名無しさん
NGNGレベル低ッ!!
0569デフォルトの名無しさん
NGNG久しぶりに煽りが出るほど賑わっていて嬉しいですね。
0570デフォルトの名無しさん
NGNGへー、もうWinFXを使って開発してるんだ。w
参考までに、どんなソフトを作ってるのかご教授願えますか?
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNGOnPaintをMESSAGE_HANDLERしたんですが、HWNDの取得ってどうやってやりますか?
CPaintDCにNULLを上げると狂気に走ってくれたので、
とりあえず、GetActiveWindowを使ってるのですが、
もっとベターな方法はありますか?
0573デフォルトの名無しさん
NGNG浮上します。
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGCPaintDC dc(m_hWnd);
と出力してるし。
0577デフォルトの名無しさん
NGNGソース追っかけてみてもCMainFrameからの取得はないようです。
でも、追っかけ足りないだけかも・・・。
>>575-576
あ”−−−!!そんなベタな・・・。
コード補完に出てこなかったので探し回ったのに・・・。
でもスッキリしました。
本当にありがとう。
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNGうぐ!なかなかやるな・・・。
>574
試してみたらできましたね・・・。
追っかけたりなかったようです。
THX。
0580デフォルトの名無しさん
NGNGProcessWindowMessage() の時点では hwnd も拾えるので、
MESSAGE_HANDLER 改変したマクロを定義してもいい。
0581デフォルトの名無しさん
NGNGそういう方法もありますね。
標準のものを改変するのはちょっとイレギュラーな感じがするけど。
非常手段として参考にします。
Thx!
0582デフォルトの名無しさん
NGNG誤解させちゃったかも。
MESSAGE_HANDLER() に似た、別の名前のマクロを自分で定義して〜ってつもりだった。
例えば、自分では
#define MESSAGE_LAMBDA(msg, lambda) \
if (uMsg == msg)\
{\
lResult = 0;\
lambda;\
return TRUE;\
}
なんてのを定義して、引数が異なる関数を呼んだり、短い処理をするのに使ったりしてる。
MESSAGE_LAMBDA(ID_FILE_NEW, { OnPaint(hWnd); } )
って感じで。
0583デフォルトの名無しさん
NGNGMESSAGE_HANDLER に渡す関数の定義は、
LRESULT MessageHandler( HWND, UINT, WPARAM, LPARAM )
なんだから、普通に、
BEGIN_MSG_MAP( ... )
MESSAGE_HANDLER( WM_PAINT, OnPaint )
END_MSG_MAP()
LRESULT OnPaint( HWND h, UINT, WPARAM, LPARAM lp );
でいいんじゃないの?
0584デフォルトの名無しさん
NGNGLRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
0585デフォルトの名無しさん
NGNGもう解決してるのにカコワルイ・・・・
0586デフォルトの名無しさん
NGNGなんか意味あんの?
0587デフォルトの名無しさん
NGNGたぶんバグ、というか真面目に実装していないのか。
WTLのエラッタをまとめてくれてるサイトってあったっけ?
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNGとりあえずSTLはヴァージョンアップして対応しているらしい。
0593デフォルトの名無しさん
NGNGそのウィンドウにツールバーを付けたいんだけどどうやってもできないんす。
CWindowじゃ無理なの??誰かサンプル教えてーください。
0594デフォルトの名無しさん
NGNG0595593
NGNG0596デフォルトの名無しさん
NGNG意味不明
0597デフォルトの名無しさん
NGNGMSDN の ATLCon つーサンプルの中に、各種コントロールを定義した
"ATLControls.h" があるから、それを使ってなんとかしろ。
0598デフォルトの名無しさん
NGNGなぜだろう。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGLIBCMT.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です。
これ。
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGちなみに、DEBUGだとリンクできます。Releaseでは不可。
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNGVC++ のバージョンは?
.net 2003 だったら、「ATL で CRT をできるだけ使用しない」を「いいえ」にする。
こいつが「はい」になっていると、_ATL_MIN_CRT が定義される。
0605デフォルトの名無しさん
NGNG.NET2003です。
そういうことですか。Cランタイムを配布したくなかったのですが、仕様なら仕方ないですね。
ありがとうございました。
0606デフォルトの名無しさん
NGNGCランタイムを使わない方法を検討する。
0607デフォルトの名無しさん
NGNG自分のコードでは使ってないんですけど、NT4.0等、MSCVRT71が
入ってない環境でregsvc32すると、ランタイムが無いって警告が
でませんか?
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNGhttp://www.microsoft.com/downloads/details.aspx?FamilyId=1BE1EB52-AA96-4685-99A5-4256737781C5&displaylang=en
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGかんどーした!!!!!!!!!
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGああ、更新内容よりはむしろバージョンアップしたという事実がありがたい。
0616デフォルトの名無しさん
NGNGFormat(_T("%I64d"), value);
とすると I64d となってしまうんだけどなぜ?WTL::CStringはI64dって表記サポートしてるよね??
0617デフォルトの名無しさん
NGNGhttp://216.239.59.104/search?q=cache:mxYfiDPJ1osJ:groups.yahoo.com/group/wtl/message/3068+%25I64%E3%80%80WTL&hl=ja&ie=UTF-8&inlang=ja
0618デフォルトの名無しさん
NGNGあと新機能の追加が少ないのがかなしひ。
せめてCStringはATLと完全互換にならんものか・・・
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGそうではないだろう
0622デフォルトの名無しさん
NGNGcontinueでループを続けてるんだけど、breakで抜けるべきじゃないの?
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNGBOOL bRet;
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
0626デフォルトの名無しさん
NGNG-1 が返ってくる状況になったら、なにも考えずにもう一度 GetMessage() すると
再び -1 が返ってきて、無限ループにならない?
0627デフォルトの名無しさん
NGNGアプリケーションもOSもまともな動作をしているとは思えない。
それほど気にしなくていいんじゃないかと。
0628デフォルトの名無しさん
NGNGならない?と聞かれてもSDKの解説もWTLもループさせてるし・・・
0629デフォルトの名無しさん
NGNGSDK のサンプルは、コメントに「エラー処理しろ」と書いてあるやん。エラー処理といっても、
もはや出来ることは限られてると思うが……。
0630デフォルトの名無しさん
NGNGそのエラー処理が、結果的にbreakするのかcontinueするのかって議論。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNGGetMessageの返りが-1の場合、メッセージループを抜けるのか、継続するのか。
0633デフォルトの名無しさん
NGNG理由は>>627が書いているように、
まともにOSが動作していない状況で、
動作を継続する方が危険だから。
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGそうすると最初の質問のWTLがcontinueしてるのが気になるんだよな
0636デフォルトの名無しさん
NGNGWTL7.1の日本語記事はこれしか見つからん。
他にない?
>>635
自分で修正すれば?
0637デフォルトの名無しさん
NGNGいや、その前にバグなのかが疑問。
0638デフォルトの名無しさん
NGNG・・・藻前のバグの定義って何だよ・・・
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGmsにメールでも出したら?
0642デフォルトの名無しさん
NGNG自分が修正すべきだと思えば、修正すれ!
0643642
NGNGここttp://www.microsoft.com/japan/feedback/default.asp
の製品フィードバックな。
0644デフォルトの名無しさん
NGNG修正すべきかどうかわからんから質問してんだろゴルァ
つーかフィードバックするならYahooGroupの方がいいんじゃね?
俺は英語自信ないけど。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGちなみにSDKのメッセージループはpossibly exitであってmustではない。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG一つのアプリが-1返しただけでそれかよ( ゚Д゚)
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNGのCWindowImpl::Createのドキュメントって間違ってるよね?
ATL3.0のソースを確認すると本当は引数の数は7つだし、dwStyleのデフォルトは0だった。
ATL7以降のソースではどう?
0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNG目次のアドレスキボン
0655デフォルトの名無しさん
NGNGツールバーには、相手先のページの
読み込み時間を表示させようと思っています。
そこで一つお伺いしたいことがありまして、カキコさせていただきます。
読み込み開始にBeforeNavigate2、読み込み終了にDocumentCompleteを
使うところまでは分かったのですが、JavaScriptのページで、
DocumentCompleteが返ってこないページがありました。
そのために、フレームページ対策で入れている
BeforeNavigate2が呼ばれた回数からDocumentComplete呼ばれた回数を引く
カウンターが狂ってしまいます。
そこで、本当に最初の読み込み開始か、完全に読み込み終了時に
カウンターのリセットしたいのですが、どこにどのように宣言したらいいのでしょうか。
う〜ん、やっぱりソースを見せないと伝わらないかなぁ・・・。駄文スマソ・・・。
0656デフォルトの名無しさん
NGNGDownloadCompleteだとダメなのか?
0657デフォルトの名無しさん
NGNGDownloadCompleteも試したけど、やっぱりダメでした・・・。
イベントの呼び出しに、コンストラクタでもあれば苦労しないんだけど・・・。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG文字には_Tマクロいらないよね?
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGL'A' でも 'A' でもUnicode下では同じだって。
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNG誰がそんな話してんだ
0664662
NGNG失礼。 ワイド文字定数は最初の文字しか処理しないらしいな。(VC++7.1)
ただし、マルチバイト文字列のときは異なるようだ。
'あ' == 33440
L'あ' == 12354
だった。
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNGa(0x61)ならUTF-8やUCS2なら(U+0061)とかにマッピングされるんだから
0667デフォルトの名無しさん
NGNGそれはペゾルドにも書いてあって、そんなこと話してるんじゃなく、
atlmisc.hの、文字に対する_Tマクロはいらねーよなって話だ。
0668デフォルトの名無しさん
NGNGメッセージループのことといい、
処理系の実装は完璧でないと気がすまないキチガイが多いな
0669デフォルトの名無しさん
NGNG0670662
NGNG文字列の話でもなく、文字の話でもなく、「文字定数」の話だろ?
シングルクォートとダブルクォートを見間違えてないか?
ASCII文字が、SBCS/MBCSとWCSで一致されることは、保証されてたっけ?
ま、どっちにしろ、C++言語の話ですな。
WindowsでVC++を使っている限りは、それほど気にしなくて良いというのには同意。
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG誰かが_Tが不要と断言したとしても、今度は逆に
atlmisc.hだと_Tマクロで定義されてるのには何か意図があるかもしれない
とか言い出すだろ。
んな事、書いた人間にしかわからねーんだよ
最初のレスで食い下がらずに自分で答えを見つければいいだろうが
0673デフォルトの名無しさん
NGNG>何か意図があるかもしれない とか言い出すだろ。
「あるかもしれない」だから無いことを証明すればいいんだよ。
それが議論てもんだ。
0674デフォルトの名無しさん
NGNG技術的な根拠が皆無だとしても、
たとえば不要なキャスト指定とか、括弧などのように
つけたことには何らかの意図が存在する可能性がある。
それは書いた人間以外に結論を出すことが不可能なじゃないか?
0675デフォルトの名無しさん
NGNGそれなら技術的根拠が無いことを証明した上で、
「書いた人間が、不要にも関わらずキャスト指定した」という結論だろ。
0676デフォルトの名無しさん
NGNG答えは不要。断言。技術的根拠は>>666
で、技術的ではなくコーディングスタイル的なことを言えば、
_Tを使わないなら使わないで統一して欲しい。
このスレは無能な奴ばかりかよ。
0677デフォルトの名無しさん
NGNG_T があったり無かったりするのは気持ち悪いから、
文字列にも文字定数にもすべて使ってほしい。
0678デフォルトの名無しさん
NGNGvoid hoge(char);
void hoge(wchar_t);
hoge(_T('A'));
「技術的」ならば、明確に区別すべき。Cではなく、C++なんだから。
「実用上」ならば、>>666 の解釈でかまわない。
0679デフォルトの名無しさん
NGNG>void hoge(char);
>void hoge(wchar_t);
>
>hoge(_T('A'));
何が言いたいのかわからん。
0680デフォルトの名無しさん
NGNG後者が呼び出されることを期待していたら
L'A'になっていないばかりに前者が呼び出されるということだろう
0681デフォルトの名無しさん
NGNGいや、>>676はatlmisc.hに対する回答だろ。
atlmisc.hそんな関数があるのかと。
0683デフォルトの名無しさん
NGNG別の人が書いたのかな。
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGWTLでインテリセンスを有効に
ttp://www.codeproject.com/useritems/WTLIntellisense.asp
0686デフォルトの名無しさん
NGNGこんなものリンクしたら、
動作がおかしくなるんじゃね?
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGなんも変わらんぞ。
0689デフォルトの名無しさん
NGNG自分で作らないとダメみたいだね。
それでもCStringは効かない。
0690sage
NGNGc:\...\wtl71\include\atlmisc.h(3042) : error C2653: '_CSTRING_NS' : 識別子がクラス名でも名前空間名でもありません。
#if defined(_WTL_USE_CSTRING) || defined(__ATLSTR_H__)
BOOL GetFromList(int nItemID, _CSTRING_NS::CString& strDocName)
{
_CSTRING_NS って何? どうすりゃいいの?
Win2000、VC++6、ATL3.0、WTL7.1
0691680
NGNG0692690
NGNG0693デフォルトの名無しさん
NGNGGREPすれば一発で見つかるはずだが・・・
atlapp.hでdefineされているので、
このファイルをincludeしてやればいいのでは?
0694693
NGNG#include <atlbase.h>
#include <atlapp.h>
この二つはstdafx.hの先頭付近で宣言しておくのが普通だが。
0696デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG知ってる事ばっかりだからもうちょっと深い事やって欲しいぜ
0699デフォルトの名無しさん
NGNG>>636
他にない?と言いながら実は自分のページを宣伝。
0700デフォルトの名無しさん
NGNGしかも自作自演での煽りか・・・
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGWTL(ATL)とMFCの両方が存在する意味って何なのでしょうか?
どんなメリット、デメリットがあるのでしょうか?
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん@質問くん
NGNGATLで、サービスアプリを作りたいんですけど、
ウィザード見ても、あんま分かんないですね。
Run()のGetMessage()あたりが肝だとは思うんですけど・・・
できたら、サービスの簡単なサンプルが欲しいです。
よろしく。
0708デフォルトの名無しさん
NGNGオフィシャルのドキュメントも無いし。
そういえばTweakUIなんかもノンサポートだしな。
0710デフォルトの名無しさん
NGNG教えてくさい!m(__)m
VS2003のVC++でプロジェクトのプロパティに「ATLを使用するかどうか」
を指定するところがあるのですが、従前(VS6.0)はなかったと
思うのですが、これはなんなんですか?
0711デフォルトの名無しさん
NGNGATLを使用するかどうかを指定するものです。
0712デフォルトの名無しさん
NGNGATLの一部の機能がDLL化されたので、
そのDLLをリンクするかしないかの設定・・・だと思う。
0713デフォルトの名無しさん
NGNG日本人であそこまでやったってスゴイ!!
今はどこで何をしているのでしょうか?
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNGこうやって、話はつれづれに移り行き・・
やがて、話題は加護ちゃんへと移行するのだ。
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG風船みたいな子
0719デフォルトの名無しさん
NGNGCFileDialog dlg(TRUE);
if(dlg.DoModal() == IDOK){
TCHAR szPath[_MAX_PATH];
dlg.GetFolderPath(szPath, _MAX_PATH); // アサート
}
使い方間違ってますか?
0720デフォルトの名無しさん
NGNGせっかくアサーションが発生してるなら、その場所のソースを見ればいいのに
0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGさっさと流せよ。いつもエロ落としまくってる分際の奴に言われたくねえよ。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNGhttp://www.digitalmars.com/
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNGついてこねーよ。
0734731
NGNG根拠のない否定はしないように。
C++BuilderXといっしょにインストールされているのを確認した。
ただし、ATLはver.3.0だし、MFCもVC6相当だろう。
0735デフォルトの名無しさん
NGNGコンパイラのバージョンに強く依存してるから、
無償配布に含めても意味がないっていう考えなのかな。
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGならPSDKに付ければいいわけで。
PSDKにコンパイラは付いてるよね?
0738デフォルトの名無しさん
NGNGマジで!?
0739デフォルトの名無しさん
NGNGia64用しかついてません
0740デフォルトの名無しさん
NGNG自己解決しました
たぶん
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGhttp://216.239.53.104/search?q=cache:TU7xd8zJS-oJ:user.ecc.u-tokyo.ac.jp/~rr26303/diary/diary2003b.html+C%2B%2BBuilderX%E3%80%80mfc&hl=ja&lr=lang_ja&ie=UTF-8
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNGC++BuilderXでWTLは使えますか?
関係ないけどWTL扱ってる日本語のサイト
ttp://home.att.ne.jp/banana/akatsuki/
0745デフォルトの名無しさん
NGNG734じゃないけど当然使えるだろう。
0746デフォルトの名無しさん
NGNGとっくに答えは出ていますが
0747デフォルトの名無しさん
NGNGどこに?
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG>>720-721
0750デフォルトの名無しさん
NGNG>>744
0751デフォルトの名無しさん
NGNGだからGetFolderPathはどう使えば良いの?
0752デフォルトの名無しさん
NGNGダイアログにメッセージを送ってるんだから、
ダイアログが表示中の場合しか使えないことは明らかだろうが。
ソースを読めない人間がWTLを使おうとすること自体に無理がある。
0753デフォルトの名無しさん
NGNG・ダイアログ表示中
・DoModal後
の二種類の使い方できるけどね。
CFileDialogの場合はダイアログ表示中はGetFilePathを使って、
DoModal後は直接m_szFileNameにアクセスしれってことらしい。
0754デフォルトの名無しさん
NGNG情けない奴だな
0755セイラ
NGNG0756デフォルトの名無しさん
NGNGその逆はあるけど。
0757デフォルトの名無しさん
NGNG適当に移植すれば?ソースもあるんだし
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGhttp://www.codeproject.com/miscctrl/gridctrl.asp?target=mfc%7Cgrid
のMFC GridをWTLに移植シマスタ。という方っておりますか?
コレをWTLに移植しようとして挫折シマスタ。
0760デフォルトの名無しさん
NGNGいろいろ試したけど結局自作した
0761デフォルトの名無しさん
NGNGCHttpFileとか自作すると結構大変。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764619
NGNGATLにも、MFCとは異なる面からのネットワークサポートはあるっぽい。
使ったことが無いからよくわかんないけど。
0765デフォルトの名無しさん
NGNGスバラスィー。使わせてくださいませんか?
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGなんでわかる?
0768デフォルトの名無しさん
NGNG766じゃないけど
spy++でもつかったんじゃない?
0769デフォルトの名無しさん
NGNGてかなんでまた軽快電話を調べようと思ったんだろう
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGリソースにダイアログ(IDD_DIALOG1)を作成し、List Control(IDC_LIST1)を貼り付けてEditLabelをTrueにします。
そして、
class CTestDlg CDialogImpl<CTestDlg>
{
private:
CListViewCtrl m_ListView;
CEdit m_Edit;
public:
enum { IDD = IDD_DIALOG1 }
BEGIN_MSG_MAP(CAboutDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
NOTIFY_HANDLER(IDC_LIST1,NM_CLICK,OnClick)
COMMAND_ID_HANDLER(IDOK, OnCloseCmd)
END_MSG_MAP()
0772771続き
NGNG{
m_ListView = GetDlgItem(IDC_LIST1);
m_ListView.AddItem( 1, 0, _T("TEST1.") );
CenterWindow(GetParent());
return TRUE;
}
LRESULT OnClick(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
{
m_Edit = m_ListView.EditLabel(0);
return 0;
}
LRESULT OnCloseCmd(WORD , WORD wID, HWND , BOOL& )
{ EndDialog(wID); return 0; }
};
を宣言して、TestDlg.DoModal();でダイアログを表示した後、
クリックすると編集モードになるのですが、何か入力すると
DoModal内でアサートが発生してしまいます。
WM_NOTIFYの処理が全くないので、テキストが設定できないとかいうのなら分かりますが
落ちてしまうのは何故なんでしょうか?
0773771続き
NGNGVC++ .NET 2003 STD と WTL 7.1です。
0774デフォルトの名無しさん
NGNGCAboutDlgって何よ
0775デフォルトの名無しさん
NGNGCOMMAND_ID_HANDLER(IDOK, OnCloseCmd)
を
COMMAND_HANDLER(IDOK, BN_CLICKED, OnCloseCmd)
にしたらどうでしょう ?
0776771
NGNGおぉ、出来た!
テキスト内容を変更した時にWM_COMMAND::EN_CHANGEが出ているのか・・・
リストコントロールが持っているEditコントロールのIDとIDOKが同じ値だったから
OnCloseCmd()が呼び出されていたのが原因だったんですね。
しかし、テキスト編集に使用されるEditコントロールのIDは変更できないんでしょうか?
なんか、WTLとは関係ないような気がしてきた・・・
0777775
NGNGID の変更なら、SetWindowLong でできますが、
リストビューに影響がでるかもしれないですね。
ウィザードが吐いたコードのままですと
ボタンからクリック以外の通知が来たときにも閉じちゃうので、
COMMAND_HANDLER を使った方がいいでしょう。
0778デフォルトの名無しさん
NGNGVS6.0の場合はCServiceModuleのスケルトンがWizard生成
されていたので、このメンバ関数のインプリメントを
をいじるというアプローチにて一通り動作するサービスを
構築できていたのですが、ATL7.1の場合はCAtlServiceModuleT
に大半の実装が移ってしまっています。
これらのメンバの大半はオーバーライドできないため、
インストール時の特殊な操作を追加しようとしてつまづいて
しまいました。
そこで、CAtlServiceModuleTの派生クラスCAtlServiceModuleExT
を定義し、共通的なカスタマイズを加えた上で,
さらにCAtlServiceModuleExTを派生させて実際のサービスに
用いようとしています。
このとき、たとえばOnInstall()をVisual Stdio内の関数
プロパティからオーバーライド可能な様に定義したいのですが、
atlbase.hをいくらみても、個々のメンバがvirtualになっている
わけでもなく、プロパティ→オーバーライドリストに出現する
ように関数定義する差異がわからないのです。
どなたかこの点について解答をお持ちの方いらっしゃいませんか?
0779デフォルトの名無しさん
NGNGそれは、private派生やprotected派生したクラスは
基底側への自動変換が許されていないからだと思われ。
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNG具体的には?
0782デフォルトの名無しさん
NGNG>>779
うーん。private派生でもprotected派生でもないんですけどねぇ。
そもそもCAtlServiceModuleT::OnInstall()ですので、ベースクラス
は関係ないとゆーか。
CAtlServiceModuleExT側にOnInstall()の実装丸ごとコピーして
やろうとしてるですよ。それでもVisualStdioは思うように動かない
わけで。
>ATL7.1のサービス作成にはバグがあるという噂。
どこかのコンテンツにあったサービスが「起動」できない
ってやつでしたら割と簡単に対処できましたよ。
スケルトンの中にCOMイニシャライズが書かれてて、
それに失敗するとexitしちゃうので、
スケルトン出力後に最低一個のATLオブジェクト追加すれば
OKです。
0783デフォルトの名無しさん
NGNGもちろんOnInstallは手書きで書けば自前クラス内でいくらでも
オーバーライドできるわけですが、チーム開発の効率を考えて
VS7.xのプロパティからGUIベースでオーバーライドできるような
ベースクラスにしたいな、という希望があったからなのです。
が、操作しているうちにどうやら無理そうな感じがしてきました。
というのも、
プロパティ→オーバーライドの操作時、画面下に個々のヘルプの
様なモノが表示されているわけで、この情報はソース内には
存在しないものです。となれば、ATLライブラリ自体を調整して
再ビルドするとかしない限り、この部分にカスタマイズしたエントリを
表示することはそもそも出来ないのではないかと思いました。
//AFXマクロの類で制御できるかと思ったのですが甘かったようです。
0784デフォルトの名無しさん
NGNGたぶん
ttp://program.station.ez-net.jp/
ここのコンテンツのどっか。
0785デフォルトの名無しさん
NGNGの作者の方はまともにサービス組んだことないんじゃないですかね。
>すると、イベント ID が 0 となっていて、「リモート コンピュータ
>からメッセージを表示するために必要なレジストリ情報または
>メッセージ DLL ファイルがローカル コンピュータにない可能性
>がある」 とのことです。
これなんかは単にEventLog用のメッセージDLLを登録してない
だけですし。COMもあんまり詳しくないみたいですから
信用しないほうがいいかと。
0786デフォルトの名無しさん
NGNG趣味グラマにはハードルが高いんでしょ。
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGCHeapPtrクラスを使用する時に、CCRTAllocator(デフォルト)を用いたら、ランタイムが
必要になりますか?
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGあたりにスタートアップルーチンや独自mallocが存在するみたいだね。
079569式フリーPG
NGNG(参照:atlalloc.h)
0796デフォルトの名無しさん
NGNGIEのツールバー(dll形式)を自作しているんですが、
IEの中止ボタンが押されたのを、IEコンポーネントの
イベントのようなもので取得する方法を探しています。
IEコンポーネント自体では、これといったものが見つかりません。
何か良い方法はありますでしょうか。
0797デフォルトの名無しさん
NGNGこれは?
http://www.codeproject.com/wtl/toolband.asp
0798デフォルトの名無しさん
NGNGイベントの取得は既にできているんですが、
IEの中止ボタンが押された時に出るイベントが、分からなくて困っています。
0799デフォルトの名無しさん
NGNGHTMLDocumentEvents2::onstop Eventかな?
あと質問はもうちょっと分かりやすくするように。
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNGWTL 7.1 で AppWizard から MDI アプリケーションを作っています。
メニューの「ウインドウ」以下に開いている子ウインドウが列挙されないのですが
これは仕様ですか?
サンプルの MDIDocVw ではきちんと列挙されているのですが…
0802デフォルトの名無しさん
NGNG>>796>>798です。自分で質問しておきながら、
しばらくこのスレを見ていませんでした。すみません・・・。
で>>799を調べてみまして、実装してみました・・・が、どうもイベントが取得できないです・・・。
もうちょい具体的に書きますと、ソースの元として>>797のを使用しています。
その中のinvokeメソッドでイベントを取得しようと試みています。
DISPID_HTMLDOCUMENTEVENTS2_ONSTOPで取得しようとしたのですが・・・。
0803デフォルトの名無しさん
NGNGここのソースが参考になるかもしれん。ソース内でDISPID_HTMLDOCUMENTEVENTS2_ONSTOPを検索してみれ。
ttp://www.codeproject.com/atl/popupblocker2.asp
0804デフォルトの名無しさん
NGNGありがとうございます。
週末の土日に挑戦してみます。
0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNGかなり気合入ってるけど実用性が少なめでした。
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG0810あっちの9
NGNGここが終わったらWTL組みは移動しよう。
WTLお勉強スレッド
http://pc2.2ch.net/test/read.cgi/tech/1078150663/
といってもこのスレが終わるまであと何ヶ月かかるんだろう・・・
0811デフォルトの名無しさん
NGNG住人が分散するだけだろうに。
0812デフォルトの名無しさん
NGNG0813805
NGNGそのソフト知らなかったのでぐぐったら2chのスレが
引っかかったんだが、評判悪いのか?
0814デフォルトの名無しさん
NGNG0815805
NGNG使ったこと無いから評判とか気にしなかった。
使おうとも思わないようなソフト多いし。
0816801
NGNG自力で解決しました(?)
#define _WTL_MDIWINDOWMENU_TEXT _T("ウィンドウ(&W)")
#include <atlframe.h>
キャプションを日本語化したのが原因でした.
0817デフォルトの名無しさん
NGNGコンソールでビルドしてない?
0818デフォルトの名無しさん
NGNG> WTL で作られた商用ソフトってどのくらいあるのかな?
・Microsoft Soft Windows ムービーメーカー
・Sonic MyDVD 5
あたりもWTL使ってますね。
どちらもSDIベースの割とシンプルなアプリなので
俺もWTL使ってみようかと思案中。
0820デフォルトの名無しさん
NGNGAMD の Athlon64 や Itenium 積んだ WinXPsp2 で ATL アプリが動かなくなったりするんかいな?
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG_stdcallthunk はたんに HeapAlloc された領域に作ってるような・・・
気のせいかもしれないけど。
0826デフォルトの名無しさん
NGNG理由って教えてもらえませんか?>>822
0827822
NGNGATL3.x は確かスタック上にコード生成していた気がしたからさ。
でも、ATL7.1 のコード見たら、ヒープ上に命令作成していたんだね。
0828デフォルトの名無しさん
NGNGスタックに生成してたらウインドウプロシージャとして使えないだろ
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNGWinMainあたりで確保されてたら?
ATL3.xはサンクを単なるメンバとして確保してるからCWindowImpl*がスタック上に
確保されるとサンクもスタック上に来る気がするんだが。
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGソース全部付いてるから、ホントに突っ込んだ解説書は需要が少なそうだよね。
0834デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNGサンプルコードの在り処だけでもいいですから教えて下さい。
環境はVS C++.net 2003 std です。
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGドロップダウンリスト(項目は「Item1/Item2/Item3/Item4/...」等)を付けたいんですけど
どうしたらいいんでしょうか?
・コレクションを作ってプロパティにする。
・ストックプロパティを自作する。
のいずれかだと思うんですが、具体例を探しきれずに困っています。
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGどういったことが挙げられますか?
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGDispEventUnadviseを呼びたくてFinalConstructとFinalReleaseに書いたんで
すけど、DispEventAdviseを呼んじゃうと、DispEventUnadviseを呼ばない限り
FinalReleaseが呼ばれないみたいですね。。。
0851デフォルトの名無しさん
NGNGMFCとどう使い分けるの?
全く使い方知らないんだが
今からでも勉強する価値ありまつか?
質問責めでマヂ申し訳ないんだが、情報が
やたら少ない・・・
0852デフォルトの名無しさん
NGNGActiveX 職人が比較的楽にコントロールを作れるようにしたテンプレートライブラリ
>MFCとどう使い分けるの?
MFC は C++ 用の Windows アプリケーション全般で使えるライブラリ。
もちろん、ActiveX コントロールも作れるけど汎用ライブラリなんでランタイム
が大きいなど ActiveX コントロールを作るうえで不都合があったりする。
ATL を使えば再配布ファイルを少なくすることが可能なので現実問題、
MFC で ActiveX コントロールを使ってダウンロードさせることは少ないと思う。
>全く使い方知らないんだが
マニュアルもあるしサンプルもある。入門書もあった。
>今からでも勉強する価値ありまつか?
MS は .NET を推してるので、その考えに乗るなら必要ないだろう。
ATL は MFC に比べて敷居が高いので、必要が無いなら覚える必要は無いんじゃない?
MFC の代わり通常アプリを作れるように ATL を拡張した WTL (Windows Template Library)
というのもある。ただ WTL は MS 内部でも負けたようで MS 的には無視されてるが…
0853デフォルトの名無しさん
NGNGそうだったんだ・・・
0854デフォルトの名無しさん
NGNGこらこら
WTLは新バージョンしっかりでてますよ。
まあ相変わらず無サポート、ドキュメントなしだけど
0855デフォルトの名無しさん
NGNGだから↑のことを指してるんだろ。<内部で負けた
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGMSが.NETをメインにしたから今更MFC以外のGUIクラスライブラリを
正式にサポートしようとはしなかったって意味ね。
WTLが使いにくいとかライブラリとして問題があるとかいう理由ではないよ。
技術的というよりマーケティング的に負けたという経緯。
WTLが素敵なライブラリなだけに悲しいね。
0858デフォルトの名無しさん
NGNGみんないっちゃだめだよ〜wwww
http://www.geocities.jp/aransk88/contents4.html
0859デフォルトの名無しさん
NGNGなんですか?これは
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNGtemplate <class T>
class CUpdateUI : public CUpdateUIBase
{
public:
CUpdateUI()
{
T* pT = static_cast<T*>(this);
pT;
最終行のpT; って何の意味があるの?
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNGあーいや、実際のコードには続きがあって、pT->ほげほげ()ってメソッド
呼んでるんで、わざわざpT;って書かなくてもオプティマイザに消されるこ
とはない筈です。
0864デフォルトの名無しさん
NGNGoperator void 呼出かな?
gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2) だと
"conversion to void will never use a type conversion" とか
言われてしまった。
0865デフォルトの名無しさん
NGNGそんなのがあるんですかー
オンドゥルルラギッタンディスカー
ありがとうございます。
そのキーワードで調べてみます。
0866デフォルトの名無しさん
NGNGってのも見ますよね。
構造体への単なるポインタです。
なんだろこれ。
0867デフォルトの名無しさん
NGNG(そーゆーコピペ元があるとか)
0868デフォルトの名無しさん
NGNGどゆこと?
0869デフォルトの名無しさん
NGNGの警告を防ぐのが実際使うときにも消さずに残ってるだけだと思ってるけど
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNGWTL7.5&オープンソース化
http://sourceforge.net/projects/wtl
http://www.itmedia.co.jp/news/articles/0405/13/news016.html
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNGconst CString&
から
CString&
に修正されてるんだけど、ATL::CStringではどうなってる?
0876デフォルトの名無しさん
NGNGそうすればVC++ Toolkitでウハウハ。
0877デフォルトの名無しさん
NGNG厚かましいぞ
0878デフォルトの名無しさん
NGNGSystem.String
0879デフォルトの名無しさん
NGNG(・∀・)カエレ!!
0880875
NGNGCThisString& operator=(〜);
とか書いてたわ。
0881デフォルトの名無しさん
NGNGほとんど紹介だけで、知名度が上がるほどではなさそうだ・・・・
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG残念ながら、出ないとのこと。
WTL.NETならでる可能性はあるけどな。
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNGCComObject<T>::CreateInstanceで作ったインスタンスって
明示的なAddRefとReleaseって必要ですか?
それとも、CComObjectが勝手に面倒見てくれますか?
あと、ブラウザ上で動くActiveXコントロールを作ってるんですが
ブラウザが閉じられたタイミングでデストラクタが走る、と
考えてて正しいですか?
0887デフォルトの名無しさん
NGNGCComObject は参照カウントの管理をしない。
明示的に AddRef, Release をするか、CComPtr を使え。
ActiveX のほうだが、参照されなくなれば、デストラクタが走るだろ。
タブブラウザとかだとすぐには開放されないかもシレン
破棄されるときに、ログをはくようにして、確認してみたら?
0888886
NGNGサンクス。
冷静に考えると、ブラウザとは関係なく参照カウンタが0になったら解放されて
ブラウザ終了時にReleaseされてなかったらメモリリークするってことか。
なんか超初歩的な質問しちゃってスマソ
0889r
NGNG#include "stdafx.h"
#include <atltime.h>
int _tmain(int argc, _TCHAR* argv[]) {
ATL::CTime ct1( 2004, 2, 14, 17, 33, 8 );
ATL::CFileTime ft1( ct1.GetTime() ), ft2;
::WIN32_FIND_DATA fd1;
::CreateDirectory( "iida", 0 );
::HANDLE h1 = ::CreateFile( "iida\\riho.jpg", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 );
::SetFileTime( h1, &ft1, 0, 0 );
::GetFileTime( h1, &ft2, 0, 0 );
::CloseHandle( h1 );
::HANDLE h2 = ::FindFirstFile( "iida\\riho.jpg", &fd1 );
::FindClose( h2 );
ATLTRACE( "ct1 : %s\n", ct1.Format( "%Y.%m.%d %H:%M:%S" ) );
ATLTRACE( "ft1 : %s\n", ATL::CTime( ft1.GetTime() ).Format( "%Y.%m.%d %H:%M:%S" ) );
ATLTRACE( "ft2 : %s\n", ATL::CTime( ft2.GetTime() ).Format( "%Y.%m.%d %H:%M:%S" ) );
ATLTRACE( "fff : %s\n", ATL::CTime( fd1.ftCreationTime ).Format( "%Y.%m.%d %H:%M:%S" ) );
return 0;
}
こんなコードをかいて、実行してみました。
0890r
NGNGあれ?バックスラッシュが全角になってしまた...
んで、実行すると
ct1 : 2004.02.14 17:33:08
ft1 : 2004.02.14 17:33:08
ft2 : 2004.02.14 17:33:08
fff : 1970.01.01 09:00:00
こんなんなる。1970年?なんでだ?!
んで、ファイルのプロパティをみてみると
「作成日時:1601年1月1日、9:01:47」
とかになってる。何だこりゃ?!
WindowsXP Professional SP1 (多分最新)
VC++ .NET 2003 スタンダード、コンソールアプリ、ATL使用。
知りたいのは1.なんでこうなるのか 2.MFCを使わないでファイルのタイムスタンプを設定するにはどうすればいいのか
の二つです。
0891デフォルトの名無しさん
NGNGCTimeとCFileTimeでは単位?が違うんじゃなかったっけ?
SystemTimeToFileTime使ったら?
0892891
NGNG0893デフォルトの名無しさん
NGNGいや、それで合っていると思うよ。
int _tmain(int argc, _TCHAR* argv[])
{
ATL::CTime ct( 2004, 2, 14, 17, 33, 8 );
SYSTEMTIME st1;
ATL::CFileTime ft1;
ct.GetAsSystemTime(st1);
::SystemTimeToFileTime(&st1, &ft1);
::FileTimeToSystemTime(&ft1, &st1); // 再取得
SYSTEMTIME st2;
ATL::CFileTime ft2( ct.GetTime() );
::FileTimeToSystemTime(&ft2, &st2);
ATLTRACE( "ct : %s\n", ct.Format( "%Y.%m.%d %H:%M:%S" ) );
ATLTRACE( "st1 : %s\n", ATL::CTime(st1).Format( "%Y.%m.%d %H:%M:%S" ) );
ATLTRACE( "ft1 : %08x:%08x\n", ft1.dwHighDateTime, ft1.dwLowDateTime );
ATLTRACE( "st2 : %s\n", ATL::CTime(st2).Format( "%Y.%m.%d %H:%M:%S" ) );
ATLTRACE( "ft2 : %08x:%08x\n", ft2.dwHighDateTime, ft2.dwLowDateTime );
return 0;
}
結果は、
ct : 2004.02.14 17:33:08
st1 : 2004.02.14 17:33:08
ft1 : 01c3f320:9c1aa200
st2 : 1970.01.01 09:00:00
ft2 : 00000000:402ddd44
0895デフォルトの名無しさん
NGNG結果: -> 0: "test"
Unicode版なら大丈夫なんだよな。
#include<atlstr.h>
#include<atlrx.h>
int main()
{
const unsigned char reg[] = "({.+}):"; //グループは{}で指定...(泣
const unsigned char target[] = ("test ");//test[全角スペース]
CAtlRegExp<CAtlRECharTraitsMB> reUrl;
REParseError status = reUrl.Parse(reg);
if (REPARSE_ERROR_OK != status){// Unexpected error.
return 0;
}
CAtlREMatchContext<CAtlRECharTraitsMB> mcUrl;
if (!reUrl.Match(target,&mcUrl)){// Unexpected error.
return 0;
}
for (UINT nGroupIndex = 0; nGroupIndex < mcUrl.m_uNumGroups;++nGroupIndex){
const CAtlREMatchContext<CAtlRECharTraitsMB>::RECHAR* szStart = 0;
const CAtlREMatchContext<CAtlRECharTraitsMB>::RECHAR* szEnd = 0;
mcUrl.GetMatch(nGroupIndex, &szStart, &szEnd);
ptrdiff_t nLength = szEnd - szStart;
printf("%d: \"%.*s\"\n", nGroupIndex, nLength, szStart);
}
}
0896デフォルトの名無しさん
NGNGMFCよりATLのCStringのほうが使いやすいと前レスで読んだのですが
MFCのプログラムでATLのそれを使うには具体的にどうすれば(どの
ヘッダを取り込んで、どのライブラリをリンクして...)
いいのでしょうか?
0897デフォルトの名無しさん
NGNGプログラム中ではATL::を省略しない。
0898デフォルトの名無しさん
NGNGでええやん。
0899デフォルトの名無しさん
NGNGえ?
0901デフォルトの名無しさん
NGNG普通するもんかと
テンプレートライブラリだし
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNG帰って下さい。あなたにこのスレは合いません。
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNGとっかかりはMSDNとウィザードがつくるスケルトンコードで間にあう。
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG0912はじめて
NGNGAPPのコードをライブラリ化。
長文ソース簡略化で作業時間、効率を削減。
基本的なWin32システムを支援します。
最強のACライブラリー
ttp://www.geocities.jp/osoftjp
0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNGなんかもう無駄に数字だけ上がってる気がしてきた。
0915デフォルトの名無しさん
NGNG圧倒的にMFCの方がやってる人多いでしょ?
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG複数でプログラム作ったことないでしょ?
仕事でプログラムを作成する場合、一人ですべてを書き上げるなんて
ことはよほど小さな仕事でもない限り、ありえない。
先日納品したシステムは15名で作ったが、そのなかに
C++Builderしかできませ〜んなんて奴がいて、切っちゃおうかな
なんて考えたよ
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG話の前提がおかしすぎ。
0921デフォルトの名無しさん
NGNG>>918みたいな奴は切っちゃおうかななんて考えたよ。
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG納品したとか書いてるからあれでも社会人らしいよ。
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNGMFCではメッセージハンドラ内で投げられたCException例外は
ハンドラ内でcatchしなくてもフレームワークがcatchしてメッセージBOXを出してくれますよね。
それと同じ様に、ATLでもハンドラから漏れ出た例外をcatchしたいのです。
とりあえず今はBEGIN_MSG_MAPとEND_MSG_MAPをコピペして
try, catchを追加した独自のマクロを使ってますが…
もっとスマートな方法は無いでしょうか?
0931デフォルトの名無しさん
NGNGtemplate <class T>
class CExceptionCatcher
{
public:
static LRESULT CALLBACK WindowProc(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
try
{
return T::WindowProc(hWnd, uMsg, wParam, lParam);
}
catch (...)
{
...;
}
return 0L;
}
};
なんてのを継承するのはどう? WindowProc を持っているクラスを判断してテンプレートパラメータに
しなきゃいけないところがなんか泥臭いけど・・・
0932デフォルトの名無しさん
NGNGありがとうございます。
いいかも、と思ったのですがCWindowImplBaseT<>::WindowProcを見てみると
例外のこと考慮されてないっぽいのでなんか危なそうです。
できればProcessWindowMessageから外に例外を出さないようにできないかなと考えて思いつきました。
#define MSG_MAP_TRY try {
#define MSG_MAP_CATCH(type, func) \
} \
catch(const type& e) \
func(e); \
}
BEGIN_MSG_MAP(theClass)
MSG_MAP_TRY
// この間のハンドラで起きた例外をキャッチする
MSG_MAP_CATCH(std::exception, ExceptionFunc)
END_MSG_MAP()
0933デフォルトの名無しさん
NGNG未登録コンポーネントのインスタンスを作成する方法はありますか?
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGいいのかサパーリわからん。
0936デフォルトの名無しさん
NGNGGDIのAPIなんかをいちいちSTLでラップしてますか?
あ・漏れはめんどくさいからしません。
最近、10年前のWindows API(16ビット)サンプル多数つきの本が
すごく役にたったりしてます。
0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNGCDC とか使うか?って話?漏れは使ってない。
使う価値がたいして感じられないから。
しかし CHandle なんかは C++ 特有のスコープ外れたら
破棄されるあたりが便利なので使ってる。
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG文字列はどっちかっていうと CComBSTR 使ってるし・・・
0945デフォルトの名無しさん
NGNGどうせstring(CStringでもいいけど)を引数に使うメリットったって、
文字数を関数に渡さなくて良いとかその程度だべ?
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG俺ならc_strでいいやと。
0948はじめて
NGNG0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNGhttp://lab.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vclib/html/291f38d1-d2de-4687-86a9-99b4fd35706c.asp
0951デフォルトの名無しさん
NGNG0952936
NGNGHDCに関わる操作クラスを自作する。テンプレートクラスとかのSTL
機能も利用して再利用可能なクラスを作る。って事をしたほうが合理的か
どうかって事を聞きたかったのです。
>>940
CDCって、MFCをインクルードしたプロジェクトで有効でしょう?
MFCは使いたくないのでAPIごりごりなわけじゃないですか
やっていて、自分なりの結論としては、とりあかずAPIごりごりが
正解な気がします。これで動作したら後々クラス化できると思うし
0953デフォルトの名無しさん
NGNG用語の使い方がおかしい。
> CDCって、MFCをインクルードしたプロジェクトで有効でしょう?
なんども言われているが、WTLにすでにある。
0954デフォルトの名無しさん
NGNGWTLのスレにいってきます
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNG行ってきましたがこれを学習するよりも
API直書きのほうが効率が良いと思いました。
0957デフォルトの名無しさん
NGNGマテマテ。
WTL くらいは使っても良いと思うぞ。メッセージマップとか。
その辺だけならドキュメントを1時間も読めば使えるだろうから、
「学習する」って程のものでもないし。
0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG実装が既に終わりましたので。次回の機会に使わせてもらいます。
0960デフォルトの名無しさん
NGNGVC++6(SP6)プロパティページダイアログの動作が怪しいなんて事ありませんか?
.NETビルドのATLはVB6には貼れない
VC++6ビルドのATLは.NET VBに貼れる
互換性についてのドキュメントってどこにあるのでしょうか?
教えて君でスマソ
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGNavigate 先を about:blank にしメモリ上の HTML を表示する、
という処理は書けたのですが、この HTML 内にある、
相対リンクがどうにも意図どおりに解釈されません。
具体的には
・外部スタイルシートを実行ディレクトリからの
相対URL指定しても無視される。
・この文書内のアンカーへまともに飛べない。
#some_where に行こうとすると
about#some_where なる何も無いページを表示する
と言った症状です。
普通にテンポラリファイルに書き出して、
サクっと読み出すのが吉なんでしょうか?
0966デフォルトの名無しさん
NGNGATLの勉強のために、MSDNの ATL チュートリアル を参考にして作っていました。
このチュートリアルで説明しているコントロールに、htmlのparamタグを使って
値を渡せる機能を追加しようとしたんですが、タグに指定した値にはならず
デフォルトの値から変化しませんでした。
どの用にすればこの機能を使うことが出来るでしょうか
調べたところ、IPersistPropertyBagを使えば出来るようになるということで
使ってみたんですが、症状は変わりませんでした。
新規プロジェクトのウィザードで属性のチェックをつけた状態(チュートリアルではチェックを外していました)で、
IPersistPropertyBagを使ったときは上手くいったんですが、その状態ではイベントを追加することが出来ませんでした。
(追加してビルドするとfire_ClickInとfire_ClickOutというメソッドがないというようなエラーが出ます。)
参考にしている ATL チュートリアル
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_atl_ATL_Tutorial.asp
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGIObjectSafetyを実装して、INTERFACESAFE_FOR_UNTRUSTED_CALLER と
INTERFACESAFE_FOR_UNTRUSTED_DATA あたりはサポートした?
あと IPersistPropertyBag は、キミの追加したプロパティの保存と読み込みを
勝手にサポートしてくれたりは「しない」から、ちゃんとBEGIN_PROP_MAPとか
使ってプロパティを登録してあげる必要があるけど、これはやってますか?
0969966
NGNGpublic IPersistStreamInitImpl<CMyCtrl>,
public IPersistPropertyBagImpl<CMyCtrl>
COM_INTERFACE_ENTRY_IMPL(IPersistStreamInit)
COM_INTERFACE_ENTRY_IMPL(IPersistPropertyBag)
COM_INTERFACE_ENTRY_IMPL_IID(IID_IPersist, IPersistPropertyBag)
を追加することで解決することができました。
参考ページ
ttp://www.faqchest.com/msdn/ATL/atl-97/atl-9710/atl97100800_09033.html
お騒がせしました。
>>966
返信ありがとうございます。
>IObjectSafetyを実装して、INTERFACESAFE_FOR_UNTRUSTED_CALLER と
>INTERFACESAFE_FOR_UNTRUSTED_DATA あたりはサポートした?
INTERFACESAFE_FOR_UNTRUSTED_DATAはサポートしていませんでした。
パラメータの安全性が保障されるとの事なので追加したいと思います。
>あと IPersistPropertyBag は、キミの追加したプロパティの保存と読み込みを
>勝手にサポートしてくれたりは「しない」から、ちゃんとBEGIN_PROP_MAPとか
>使ってプロパティを登録してあげる必要があるけど、これはやってますか?
確認したところ、やってありました。
0971デフォルトの名無しさん
NGNG0972はじめて
NGNGttp://www.atl.net/
0973マイク ◆yrBrqfF1Ew
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGclass ATL/WTL : public 2ch<ATL/WTL, Part3>
http://pc5.2ch.net/test/read.cgi/tech/1095185498/
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。