[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 17:25 / Filesize : 111 KB / Number-of Response : 669
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ATL/WTL Part5



1 名前:デフォルトの名無しさん [2006/08/19(土) 10:41:48 ]
ATLやWTLについて語り合って下さい。

(Part1) ATL/WTL
piza.2ch.net/test/read.cgi/tech/978029639/l50
この後なぜか分離
(Part2-1) ATL 相談室
pc5.2ch.net/test/read.cgi/tech/1029029882/l50
(Part2-2) WTLお勉強スレッド
pc5.2ch.net/test/read.cgi/tech/1078150663/l50
その後合流
ATL/WTL Part3
pc8.2ch.net/test/read.cgi/tech/1095442366/l50
ATL/WTL Part4
pc8.2ch.net/test/read.cgi/tech/1134388951/l50

WTLの最新版↓
sourceforge.net/projects/wtl/

177 名前:173 mailto:sage [2006/11/17(金) 16:51:45 ]
>>176
親ウィンドウのOnInitDialog(HWND hWnd, LPARAM lParam)の中で
子ダイアログクラスのCDlgChild.Create(hWnd)すると

atlsimpcoll.hの140行目で
wtltest.exe の 0x00422489 でハンドルされていない例外が発生しました : 0xC0000005: 場所 0x00000008 を読み込み中にアクセス違反が発生しました。

となってしまいます。
モードレスダイアログを作るには何か特別な作法のような物があるのでしょうか?

178 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 17:43:54 ]
>>177
別に

179 名前:173 mailto:sage [2006/11/17(金) 17:48:14 ]
どうも子ダイアログのOnInitDialogでメッセージフィルタを追加してるところで失敗してるようです。

CMessageLoop* pLoop = _Module.GetMessageLoop();
pLoop->AddMessageFilter(this);         //←ここ
pLoop->AddIdleHandler(this);

もう何がなにやらorz

180 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 18:34:25 ]
なんで、子ダイアログでメッセージループ宣言してんの?

181 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 18:35:26 ]
そこまで追いかけてるなら、なんでデバッガでエラーを特定せんのか

182 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 18:53:23 ]
>>179
親ウィンドウがモーダルなんじゃないの?

183 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 10:05:54 ]
メッセージハンドラの宣言で、
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
があるけど、コメントアウトしているほうが最適化とかされるの?
ハンドラCALLのとき変数をレジスタに設定されないとか


184 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 10:11:56 ]
関数の引数はスタックに積まれると思うんだが

185 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 10:21:51 ]
> コメントアウトしているほうが最適化とかされるの?

それは、その関数の実装内で参照しないよという意味になる。

仮想関数だったら最適化はまずかかからない。

非仮想関数だったら、、、可能性はあるけど、
もし最適化可能ならばコメントアウトの有無は関係ない。
変数の寿命チェックでわかるからね。



186 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 11:34:04 ]
atlcrack.hのOnPaintで受け取るhdcが0みたいなんてすけど
どうすれば描けますか?

187 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 12:00:38 ]
>>186
BeginPaint, EndPaint

188 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 14:15:05 ]
>>183
最適化じゃなくて、警告を抑制するため。

もしかしたら最適化にも影響する可能性もあるけど(>>185の通り)。

189 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 14:42:36 ]
そもそも真珠湾攻撃のあと全力でハワイ制圧しとけば勝てたんじゃないの?
まあその前にハワイ王国との縁談話断った時点でアホだが

190 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 15:06:23 ]
そうだねプロテインだね

191 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 15:33:32 ]
縁談なんてあったんだw
つーか、その辺やってねえよ。
あとは読んどけで終わったな。

192 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 15:43:02 ]
>>191
履修できただけマシじゃん

193 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 16:32:20 ]
>>186
WTL::CPaintDC

194 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 17:53:25 ]
本スレに書き込む筈の文章を当該スレと異なる場所に書き込めばそれは誤爆であり、レスとはいえない。
だが誤爆した先が当該スレに深く関連したものであれば、かつ単体で意味を成すものならば、
その誤爆は新たな話題提供のレスとなり、誤爆という事実は観測されない。ここに矛盾が発生する。

欺瞞だ。



195 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 18:52:00 ]
CTreeViewCtrlでツリービューを作っているのですが
InsertItemで項目を追加しても2バイト文字が表示できず
_T("test_テスト_テスト_てすと")としても

test_ _ _ としか表示できません。

どうしたらよいでしょうか




196 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 10:16:58 ]
デバッグする

197 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 17:19:16 ]
CString使ってみたらどうだ?

198 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/11/19(日) 17:34:36 ]
どっちの?
つうか、フォントの設定があってないとかいう落ちだったり?

WTL::CStringA, WTL::CStringW 標準採用まだー?

199 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 22:59:30 ]
標準採用の意味が分からんがATL::CStringでいいジャマイカ

200 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/11/19(日) 23:41:18 ]
いちおうCodeProjectに登録されてるのがあるんだけど、WTL::SCtringを補うもので
UNICODE←→ANSIの変換が簡単にできる。

もちろんATLのほう使えばいいんだけど、例によってExpressで使いたい人もいるでしょ。

201 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 23:56:40 ]
名前が汚すぎ
頭とケツのCとA(W)がウザイ

202 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 00:56:43 ]
むしろWTL::CWindowImpl

203 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 02:40:36 ]
あれって使い分ける必要ないだろ。
普通にCStringで勝手にコンパイラが判断してくれるよ。

204 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/11/20(月) 02:42:17 ]
いやだからANSIとUNICODE両方使いたいの。

205 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 09:16:16 ]
MFCでもAとWを明示的に指定して変換してる人いるよね。楽そう。



206 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 10:00:47 ]
インテリのヒントが表示されないからね

207 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 02:22:25 ]
ATLのコンテナとSTLのコンテナ、どっち使ってる?

漏れはATLのほう。STLは無駄にテンプレートが多くてプログラムサイズが
大きくなる気がするんで

208 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/12/01(金) 04:37:44 ]
サイズは気にしたことがない。リリースで1MB越えるようなバイナリ作ったことないし。
速度なら気にするけど。
データモデル部は全般的にSTLベースかな。移植とか考えて。
実際は移植することなんてないんだけど。




ATL::CStringとstd::stringだと、std::stringのほうが使いやすいとは思う。
たとえばリストの選択項目をクリップボードにコピーとかやるじゃん。
領域が足りなくなるとメモリを多めに確保してプールしておくstd::stringのほうが
都度確保のCSrtingより断然速い。
まあアロケータ次第でどうにでもなるんだけど。


209 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 08:28:32 ]
<algorithm>などほかとの連携を考えればSTLのほうが便利。
ポインタを使ったり、イテレータを作ったりすればATLのコレクションも使えるけどさ。

210 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 09:10:43 ]
Boost の String Algorithm が使えないといろいろ面倒だよね。

211 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 09:23:57 ]
STL使った方がboostとかとも相性良いから、
文字列とかコンテナとか基本的なテンプレはSTLを使う。

212 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 10:30:57 ]
マルチバイト文字列を扱う場合std::stringだと不便じゃない?

213 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 11:36:32 ]
つ wstring
ほとんどはboostも対応済み

214 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 19:55:56 ]
WDK RTMにatl71が入ってるらしい
俺は低速回線で落としてる最中なもんで確認はできてないけど

215 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 01:00:52 ]
>>214
それ使うのライセンス的にどうなのよ?



216 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 22:16:32 ]
WDKのライセンス読めとしか言えない

217 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:52:31 ]
WTL 8.0 WTL 8.0.6356 released
sourceforge.net/project/shownotes.php?release_id=473172

Vista用の更新が主かな

218 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 23:46:24 ]
WTL 7.5とWTL 8.0はどちらを使ったほうがいいですか?

219 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 01:00:54 ]
VS2005で新しいATLプロジェクト作ると
.PSってプロジェクトが一緒に出来るんですけど
あぼーんしてもOKですか?

220 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 02:58:07 ]
>>218
Win98系もサポートするアプリなら7.5
サポートしないなら8.0

221 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 14:19:07 ]
>>219
だめっしょ。

222 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 00:19:30 ]
プロキシスタブ要らんなら消してよし

223 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 02:51:29 ]
ATL(属性)でシンプルオブジェクト作ってインターフェイスにプロパティを何個か追加するのね。

最初に追加したプロパティだけクラスビューの表示にput_が付かないのね。
get_One
One
get_Two
put_Two
みたいなかんじで。

ためしにID入れ替えてみたら
get_One
put_One
get_Two
Two
になるのね。

224 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 03:15:55 ]
阪中乙。

225 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 03:30:19 ]
バグだろ, 表示だけで動作は普通だから無視すれ;



226 名前:デフォルトの名無しさん [2007/01/09(火) 23:56:17 ]
ATL/WTL 第2版
home.att.ne.jp/banana/akatsuki/doc/atlwtl2/index.html

Part 1 ATL/WTLプログラミングの基礎
ATL/WTLプログラミングの基礎として、単純なウィンドウやダイアログを作成します。
また、一般的なWindowsアプリケーションの形式であるフレームウィンドウを作成します。
最後に ATL/WTL Application Wizard の使用方法を示します。


227 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 01:54:28 ]
ActiveXのウィンドウにエディットコントロール作成したんだけど
左右キーが効かない・・・誰か解決法わかる人いますか?

228 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 02:44:41 ]
なんだっけ、
アクセラレータ?PreTranslate...?
なんかそんな感じだったと思う。

229 名前:227 mailto:sage [2007/01/10(水) 13:11:36 ]
ttp://support.microsoft.com/kb/187988
これっぽいんだけど、例がMFC。
AfxGetApp()に相当するものって何だろう・・・

230 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 17:26:41 ]
_AtlBaseModule

231 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 20:43:44 ]
The So-Software Studio更新sage

232 名前:デフォルトの名無しさん mailto:sage [2007/01/10(水) 20:46:17 ]
って外出じゃねーか、俺氏ね。

233 名前:デフォルトの名無しさん [2007/01/11(木) 20:33:25 ]
>>231
>>226

234 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 02:36:05 ]
>>233
>>232

235 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 22:14:37 ]
>>234
>>220



236 名前:デフォルトの名無しさん [2007/01/14(日) 04:48:27 ]
なんでWTLはメンバー変数が全部publicなんですか?

237 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 05:10:40 ]
所詮はC++ベースだから

238 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 05:13:43 ]
お前今C++さんになんつった!?

239 名前:デフォルトの名無しさん [2007/01/14(日) 06:53:08 ]
オープンソースだからpublic

240 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 12:02:04 ]
いいね

241 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 18:40:28 ]
WTL関連の用語をぐぐると中国語のサイトばっかり大量に引っかかるのは何故?

242 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 19:21:22 ]
中国で流行ってるから

243 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 21:17:46 ]
ATL_NO_VTABLEの意味がわからず、ぐぐってこんなサイトを見つけました。
ttp://www.ascii.co.jp/pb/msdn/article/a01_0029.html
つまり、COMインタフェースはvirtualはすべてpure virtual
(Java、C#でいうinterface)だから、初期化を高速化するために
ATL_NO_VTABLEを使っている。
別に自分でCOMインタフェース作るときは付けても付けなくても良い。
という認識でOK?


244 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 22:16:13 ]
>>242
プログラム全般中国のほうが多いが
COM関係なんか日本語はほとんどヒットしないし

245 名前:デフォルトの名無しさん [2007/01/14(日) 22:48:39 ]
>>243
お前さんが見つけたというそのサイトに全て書いてあるだろ。読んだんだろ?
だったらなんでこんなところでいちいち聞くんだよ



246 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 00:00:35 ]
ぐぐると各国版のMSDNと英語とロシアと中華のブログだけ
この業界では良くあること

247 名前:デフォルトの名無しさん [2007/01/15(月) 05:26:29 ]
>>243が書いているサイトは日本語なんだが

「この解説サイトを読みました。これこれこういうことが書いてました。という認識でOK?」

なんてことを聴く意味が理解できん

248 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 05:30:09 ]
件のサイトは見てないが
a) 日本語に見えるが実は日本語じゃない
b) 普段から命令されることに慣れきった奴隷根性なので自分で判断できない
c) 243は実は日本語が不自由

249 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 06:01:14 ]
>>247
>>248

250 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 07:07:01 ]
>>248
>>249

251 名前:デフォルトの名無しさん [2007/01/15(月) 08:18:38 ]
>>239
じゃあオープンソースじゃなかったらprivateになるんですか!????

252 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 08:49:29 ]
私の肛門もpublic宣言されちゃいました

253 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 10:09:16 ]
public - 公衆便所
protected - 近親相姦
private - 恋人同士

254 名前:デフォルトの名無しさん [2007/01/15(月) 10:32:27 ]
public - 日本語に見えるが実は日本語じゃない
protected - 普段から命令されることに慣れきった奴隷根性なので自分で判断できない
private - >>243は実は日本語が不自由

255 名前:243 mailto:sage [2007/01/15(月) 10:46:51 ]
すまないみんな。
もう答えは自分の中では出てたんだよ。
けど、閉鎖も近いし、人とのふれあいがほしかっただけなんだ(´・ω・`)



256 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 13:51:02 ]
friend - セフレ


257 名前:デフォルトの名無しさん [2007/01/15(月) 16:11:04 ]
virtual 脳内彼女

258 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 20:35:27 ]
>>0xff
あなたのファンになりますた。

259 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 01:26:35 ]
ひどいスレッドだ

260 名前:デフォルトの名無しさん [2007/01/16(火) 13:40:23 ]
スレッド以前にWTL自体がひどいんだから仕様がない。

261 名前:・∀・)っ-{}@{}@{}@ mailto:sage [2007/01/16(火) 20:04:12 ]
MS謹製のライブラリはみんなpublicだ
十数年前からの風習ね

んで公開したくなければ派生先で隠せと。

262 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 11:30:10 ]
そろそろ C++ を使うことの馬鹿ばかしさに気付くべきだと思います


263 名前:デフォルトの名無しさん [2007/01/17(水) 11:31:52 ]
COMまわりやるとなると仕方がないよ。

264 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 23:17:07 ]
VS2005とかならboostとかも使えるんだろうが
6.0使ってると捨てたくなるよ、ホント。

265 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 09:18:27 ]
禿堂




266 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 03:34:05 ]
>>262
ブビ厨、乙

267 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 03:35:16 ]
>>264
VS2003の頃から使えますが

268 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 20:42:56 ]
WTLだけでWindowって作れる?
ATL使わないと無理かな

269 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 20:49:50 ]
>>268
ウィンドウ関連の基本クラス群はATLにあるから無理

270 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 20:50:07 ]
WTL on ATL on STL じゃねーの?
そんなオーバーソールな関係だとずっと思ってました。
atlbase.hのマクロしか触ったことないけど。

271 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 00:50:25 ]
ATLとSTLは関係ない。
せいぜいSTLのコンテナからIEnumなんとかを実装するためのクラスがATLにあったような気がするくらい。

272 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 08:18:12 ]
ATLでCoClassだけ作りたい場合
シンプルオブジェクト作って出来たInterfaceを自分で削るしかないですか?

273 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 10:01:31 ]
っ 元から手書き

274 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 14:11:29 ]
class Foo : pbulic CWindowImpl<Foo, CButton> { ・・・

だとCButtonのインテリセンスが出てこないが、

class Foo : pbulic CWindowImpl<Foo, CButtonT<CWindow> > { ・・・

って書いてやるとインテリセンス効くんだな。
もっと早く気付いとくべきだったよ・・・

あ、VS2003です


275 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 14:51:31 ]
VCのインテリ自体C#やVBに比べりゃウンコだがな



276 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 16:16:43 ]
それいったらC++の構文自体が(ry

277 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 17:04:40 ]
COM登録時の、レジストリの(標準)の値って
[coclass]属性で記述できないのかな。
GetObjectFriendlyName() オーバーライドだとスペルミスとかでも
通っちゃうから、あんまやりたくないのだが。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<111KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef