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/
434 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:25:26 ] しね
435 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:36:45 ] 天才 さてデバッグデバッグ 馬鹿 「しね」
436 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 21:27:16 ] メモリリークしね、の略だろ
437 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 21:45:51 ] 警告 1 warning C4996: '_vswprintf': This function or variable may be unsafe. Consider using vswprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\program files\microsoft visual studio 8\vc\wtl80_7108_beta1\include\atlapp.h 851
438 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 22:06:43 ] warning C4996: '_vswprintf': swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter.
439 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 22:13:05 ] #undef ATL_MIN_CRT
440 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:29:35 ] #uninstall ATL
441 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 23:43:22 ] オープンソースなんだから自分で修正すれ。 ir9.jp/prog/ayu/strsafe.htm
442 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 00:24:25 ] >>441 そのページの結論は↓こうなっているんだが、なんだかなあ 「…まぁでも、結局のところ、素直に std::string やら CString 使おうぜ。(今までの文章一気に台無し......)」
443 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 03:02:21 ] そりゃ、文字列は std::stringの方が良いに決まってる。 Macにも移せるし。
444 名前:・∀・)っ-○◎● mailto:sage [2007/05/05(土) 03:25:00 ] ソースレベルの互換性ならSTLだけど オブジェクトの互換性は保証されてないのがC++ どーせMacでもPASCAL文字列デフォだったり
445 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 08:42:48 ] CAtlString
446 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 10:50:21 ] ATL::CString
447 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 10:59:15 ] atlapp.hを書き換えりゃ良いじゃん
448 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:10:11 ] ATL::CString WTL::CString OreLibrary::CString _CSTRING_NS::CString
449 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:46:05 ] げろげろ
450 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:45:55 ] >>448 3番。
451 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:52:12 ] 何でいちいちstdcallなんか付けるかなあ 遅くなるっちゅうに
452 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 19:10:01 ] 全てとは言わないが、Windows APIやCOMの仕様上必要なものもあるだろうに
453 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:30:43 ] >>451 なんでstdcallだと遅くなるの?
454 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:49:29 ] fastcallでないから
455 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 02:24:46 ] どうせテンプレートなんてインライン展開されるから ほとんど関係ない気もする。
456 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:55:48 ] インライン展開されない場合の thiscallとの違いは thisをECXに積むかスタックに積むかだけ。 遅くなるかどうかは状況次第だと思う。 で>>451 は誰に言ってるの?ちら裏?
457 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:07:31 ] そういっても、伝統的に FAR PASCALなんだから、我慢しろよ、おまえら。
458 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 09:16:17 ] 我慢していないのは>>451 だけだと思うが
459 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 10:56:58 ] 呼出規約のせいにする前に自分のコード見直せよ。
460 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 12:43:48 ] >>454 よくわからんが、fastcallなんて明示的に指定しなければ使われないんでないの? デフォはcdeclだろ。cdeclならstdcallやpascalより一般に遅いのでは?
461 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 13:49:47 ] cl.exe なら /Gr で fastcall を既定にできる
462 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 14:08:42 ] あんまりfastcallばっか使ってるとECXとEDXが双子の兄弟に見えてくるから気をつけな
463 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 15:19:16 ] どうせRPC飛ばしてCOMとか呼ぶわけで…
464 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 17:00:23 ] fastcallにしても、関数の頭でいきなりecxとedxをスタックに積まれてたりしてな。
465 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:25:55 ] >>463 IPCとRPCの区別がついてないのか?
466 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:40:58 ] COMと言えばDCOMも当然含まれるわけで 言いたいことはわざわざ解説しなくていいってことかと。
467 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:39:21 ] COMとかってソースリーディングできるレベルじゃないと手も足も出ないんですね… プログラミングWindows上下、Advanced、Inside上下と格闘してから出直します
468 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:52:33 ] あんた誰だよ
469 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 02:59:21 ] >>467 アプリ作る前にOS作らなきゃって感じか
470 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 08:09:18 ] あの夜、俺は初めて彼女とMMXした。 「もうそろそろiiyama? 君のI/ODATAを確かめたいんだ。XT」 MITSUMIあうと、彼女のMECはALBATRONとしていた。 緊張した俺は焦り彼女のソケット478をAOpenしようとした。 「ちょ、ちょっとRADEON!何をSis」もう俺は既にエレコム。 Sound Blasterのホックを外すとはちきれそうなPioneerがBarracuda でもBIOSTARは意外と玄人志向だった。 「恥ずかしいわ。あまりミネベア・・・」 SCSIをTORICAるとKEIANをSOLTEKした痕がアルファデータ。 あそこはSUPERMICROだった。OMEGAドライバも少し鼻についた。 しかし、彼女のCREATIVEを刺激しつつ俺のセレロンを 彼女のSerial-ATAからASUSに這わせると、「FireWire〜ン」 「もう、ATI」「COREGA欲しいんだろ?」「早くリテール」 俺は激しくTSUKUMO。「インテルはいってるっ!IEEE!1394!」 「あぁ・・・もうDell!」
471 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:00:59 ] なんだっけそれ サッカー板あたりで似たネタを昔見た気が
472 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:19:19 ] ヤバイ超ヤバイ。不動産のチラシマジヤバイ。 まず。築五分。これだけでもやばいのに 築五分なんてもんじゃない。 駅から五年。 何処の駅からだよ。 とにかく不動産はチラシだす前に推敲したほうがいいとおもいます
473 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 09:56:39 ] >>472 ぜひスキャンしてうpしるw
474 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 17:45:59 ] >472 懐かしいコピペだな。ここ数年見てなかった。
475 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 09:59:59 ] ATL::CStringとWTLたたCStringは何が違うの?
476 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:10:17 ] >>475 ATL::CStringにはTokenizerがある、ていうかATL3.0の頃に使いやすいCStringが欲しくてWTL::CStringができたんだろ? 今はATLのを使っておけばOKなんじゃないの?
477 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 11:47:08 ] ATL::CStringは参照カウント式だからはやい
478 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:04:39 ] へぇー
479 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:29:23 ] 結局は>>448 の四択
480 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 13:55:33 ] 参照カウンタはもう時代遅れみたいだけどな
481 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:02:17 ] 時代はがーベじコレクション
482 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:20:22 ] std::string
483 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:54:09 ] System.String
484 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 15:16:32 ] なぜこんなにゴミのようなレスが追加されるんだw
485 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 15:29:53 ] はっはっは!見ろ、レスがゴミのようだ!!
486 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 16:30:08 ] しかし、どの文字列クラスもマルチ言語に対応するには、不完全だという事実。
487 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:01:49 ] >>496 アホか? 448を見て解らんのかw
488 名前:デフォルトの名無しさん [2007/05/20(日) 17:02:33 ] おおー、俺がアホだった496にれすしてしまうとわ
489 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:04:35 ] ATL::CTString見たいなの無いの〜?
490 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:08:43 ] CStringTじゃなく? CTStringなんて聞いたことねえぞ
491 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:10:00 ] TCHAR見たいな仕組みのものがあるかどうかということなんですが 結局あるんですね?良かった
492 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:27:43 ] しかしSTLで利用できない
493 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:05:32 ] range_ms使えばいいじゃん
494 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:57:00 ] なんでstd::tstringはないのかな
495 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:02:25 ] typedef std::basic_string<TCHAR> tstring;で十分
496 名前:デフォルトの名無しさん [2007/05/20(日) 19:06:30 ] >>495 そーゆー問題じゃなくて、標準化されていないことが問題なのよ。
497 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:10:05 ] その程度の手間で済むから標準化されてないんだろう多分
498 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:23:48 ] TCHARのようなものが標準に無いからじゃね
499 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 21:03:38 ] ティーチャーはUNICODEですによってcharおよびshortが区別するため型からですね
500 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 21:12:38 ] ここまで壮絶な日本語でおkは初めて見た
501 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 23:12:30 ] 標準化されてないせいで複数のプロジェクトで使い回すような自作関数で使うのに躊躇する。 なんか自分仕様な感じがするから・・
502 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 00:05:23 ] 文字コードすら違うのに標準も糞もない
503 名前:デフォルトの名無しさん [2007/05/21(月) 00:17:15 ] >>501 まぁ、そのへんは現状では仕方なかろう。俺は開き直って自作関数使いまわしてるけど。
504 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 16:43:23 ] >>501 std::basic_string<TCHAR>を使う気にならないという話なら、 tempate<typename E, typename T, typename A>な関数テンプレートにして、 その関数ではstd::basic_string<E, T, A>を使えばおk
505 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:36:27 ] windowsで動けば世界のパソコンの90%近くで動くんだよ
506 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:36:24 ] 彼氏がMacなんです><
507 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:30:39 ] ATL::CStringならUNICODEとASCIIの変換は自動でしてくれなかったっけ?
508 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:46:49 ] コレクション等汎用データ型は備えているがSTLに比べれば陳腐。 かと言って窓に特化しているかと言えば、全方面のAPIをカバーしているわけでもない。 ようするにATL/WTLは中途半端
509 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:50:35 ] っ DVDテレビデオ
510 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:54:45 ] >>508 ATLはもともとCOM特化 WTLは未完成
511 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:44:27 ] >>508 で?だからなんなんだw
512 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:48:43 ] みすたw >>509
513 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:23:53 ] それでもSTLSoftならやってくれる筈だ…
514 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 00:58:39 ] CStringのFormatMessageはFORMAT_MESSAGE_FROM_SYSTEM使えないですか?
515 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:52:33 ] CString::FormatMessageのソース見ればわかる
516 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 02:19:29 ] すいません CStringのFormatMessageのソースはFORMAT_MESSAGE_FROM_SYSTEM使えるようになってますか?
517 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 10:14:33 ] CString::FormatMessageのソース見ればわかる
518 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 11:26:51 ] すいません CStringのFormatMessageのソースはFORMAT_MESSAGE_FROM_SYSTEM使えるようになってますか?
519 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:19:51 ] オープンソースだから好きにすれ
520 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:12:25 ] そう言えばatlres.hに#define IDC_STATIC (-1)と定義されてるんだけど。 リソースの#define IDC_STATIC -1と重複してて警告が出るのね。
521 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 23:32:37 ] 日記はチラシの裏にどうぞ
522 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 00:48:18 ] atl〜.hの前にresource.hインクルードしな
523 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:47:33 ] class CMyList : public CWindowImpl<CMyList, CListViewCtrl>, public COwnerDraw<CMyList> こうすると DeleteItem メンバ関数が競合して使えないのですが CCustomDraw を使えということで良いですか?
524 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 04:32:42 ] >>523 競合して「使えない」とはどういうことだ? 普通にスコープ解決演算子つけて直接呼べばいいんじゃないの?
525 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 06:48:17 ] >>524 COwnerDraw::OnDeleteItem() で呼ばれているんです。 T* pT = static_cast<T*>(this); pT->DeleteItem((LPDELETEITEMSTRUCT)lParam);
526 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 07:11:45 ] WTL8.0の正式版っていつでるのかな
527 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 18:01:12 ] CMyList::OnDeleteItem()実装すれば?
528 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 23:16:33 ] DeleteItemを実装して(オーバーライドじゃない)、 そのまま基底に垂れ流すんじゃなめなのかな
529 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 04:02:58 ] >>527-528 テンプレートやWTLの理解に自信が無いので なにか解決策があるのかもと思いましたが、そういう方法になりますか。 意図された使い方では無いようなので CCustomDraw を使うことにします。
530 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 08:40:45 ] >>523 CMyListの中に、using WTL::COwnerDraw<CMyList>::DeleteItem;を書いておくのは駄目?
531 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 08:49:03 ] IMMまわりとかないよね?
532 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 09:09:44 ] 誤爆
533 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 17:26:43 ] っ CIMM (つくれ)
534 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:34:59 ] 作りました。以下、使い方です。 #include "atlimm.h" (つまんね)