- 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/
- 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" (つまんね)
- 535 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 09:54:45 ]
- CImmのほうがいいな
- 536 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 16:24:56 ]
- >>535
.NETの命名規約だとそうなるよね。 だけどC++関係では基本的に、3文字の頭字語は全て大文字かな
- 537 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 16:25:50 ]
- ごめ、.NETだとそれ以前にハンガリアンじゃないからCは付けないね
細かくてスマソ
- 538 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 19:15:22 ]
- >>531
作ってみたお 公開しないけどね( ̄ー ̄)
- 539 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 09:48:49 ]
- atlmisc.h の misc って何の略ですか?
一応 atlmisc.h の中を見てみましたが、特にこれだ!というのも見当たりません。
- 540 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 10:38:24 ]
- miscellanea
その他色々
- 541 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 10:45:38 ]
- なるほど。
すっきりしました。ありがとうございました。
- 542 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 13:02:31 ]
- 俺はmiscellaneousだと思ってた
つーかmiscってプログラムに限らずウェブサイトとか色んな所で使われてるよ
- 543 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 21:32:29 ]
- CDCやらのハンドル類のラッパとかだけATL無しで動くようにしてくれないかなあ
- 544 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:35:12 ]
- ATLなしで動く?ATLの中枢はヘッダファイル(一部性的リンク)だけだから
実行時に必要なものは何もないと思うが。 ATL無しでコンパイル、ってことか? それならCDCやらの部分だけ引っ張り出してきて 細部をちょっと修正すればコンパイルは通ると思うよ
- 545 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:41:02 ]
- 無論それはそうなんだけど、問題はATLのライセンス
- 546 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:43:19 ]
- クラス名とインターフェイスの同じ物を自作すれば問題ない
- 547 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:53:38 ]
- いや、CDCはWTLだろw
WTLなら問題ナッシング
- 548 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:06:34 ]
- Windows Toilet Laboratory
- 549 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:29:52 ]
- WTLのAppWizardのインストーラを参考にして
VCEEに自作のプロジェクトテンプレートを追加してやった。 ざまーみろ。ググってもVCSEEの方法しか出てこないし、あげく追加はできないとかいいやがって・・。 ちゃんと出来たじゃねーか
- 550 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 21:09:42 ]
- WTLを最新版にしてコンパイルしなおしたら、
プログラムは全く同じなのにEXEが10kb近くも膨れ上がったよ・・・ 動作に問題はないけど何か気持ち悪いな
- 551 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 22:10:00 ]
- 解析丁
- 552 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 14:45:11 ]
- ここのサンプルでメッセージループを抜ける時に2byteのメモリリークがあるようなんですが
ttp://home.att.ne.jp/banana/akatsuki/doc/atlwtl2/window01/index.html 先に進めば別のメモリリークのない方法を使うようになるから今は気にしなくていい とかなんでしょうか?
- 553 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 15:03:37 ]
- >>552
メモリリークがあるってどうやって確認したの?
- 554 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 15:57:03 ]
- CMainWindowをブロックローカル、または関数ローカルにして
_CrtDumpMemoryLeaks()使いました どうやっても2byteっていう微妙な数字が確認されるんですよ…
- 555 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 15:59:54 ]
- 日本人って複数形のsをつけない奴多いよな。何でだろう。
- 556 名前:554 mailto:sage [2007/06/02(土) 16:04:04 ]
- >>555
それは俺がtypoでコンパイルエラーだしまくるようないいかげんな人間だからです Leaksのsはコピペだから忘れてないだけです
|

|