5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ATL 相談室

1 :デフォルトの名無しさん:02/08/11 10:38
テンプレートをベースにしたC++ライブラリ、ATL
(ATL Serverでは XML Webサービス、Webアプリケーション、
サーバーアプリケーションが作成できるらしい。)
について語りましょう。


2 :デフォルトの名無しさん:02/08/11 10:40
             __
                /〃 ┼‐┼〃__
             /\    ノ                __
                      __  , -――-、  /\ノ
                      ヽ/\l::::::::::::::::::::\ /: : /
         ,..-―-、/)       |: : :|::::::::::::::::::::::/: : /
     /⌒Y    (_ノ  /)       |: : :|:::::::::::::::::::::|: : : /
      ̄l ̄l、     ) /`〉     ヽ:: :|::::::::::::::::::::l: : :/
         l: : :`ー--‐'‐'´: :/        \|∧ハ/l/: ::〈
       \: : : : : : : : : :く         |: : : : : : : : : : `ー-┐  ,.、
         l: : : : : : : : : :`ー―┐ ,、   |: : : : : : : : : : : : : : |二lニノ
         ヽ.: : : : : : : : : : : : : :|ニノ   |: : : : : : : : : : : : : : |
           ヽ: : : : : : : : : : : : :|      ヽ: : : : : : : : : : : /
           \: : : : : : : : :/       \ : : : : : : /
              ̄ ̄ ̄ ̄    ノ|      ̄ ̄ ̄       ノ)
                   ノしノ  し'(           ノ)__ノ (ノ(

3 :デフォルトの名無しさん:02/08/11 10:40
WTLは?

4 :デフォルトの名無しさん:02/08/11 10:47
WTC?

5 :簡易かおりん祭り。 ◆PFTlOi7I :02/08/11 10:51
良、おめ。

かおりんはなんで飛ぶんーー?

6 :コギャルとHな出会い:02/08/11 11:02
http://kado7.ug.to/net/


朝までから騒ぎ!!
   小中高生
 コギャル〜熟女まで
   メル友
  i/j/PC/対応

女性の子もたくさん来てね
                 
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。

7 :デフォルトの名無しさん:02/08/11 11:04


8 :デフォルトの名無しさん:02/08/11 11:04


9 :デフォルトの名無しさん:02/08/11 11:04


10 :デフォルトの名無しさん:02/08/11 11:04


11 :デフォルトの名無しさん:02/08/11 11:05


12 :デフォルトの名無しさん:02/08/11 11:05


13 :デフォルトの名無しさん:02/08/11 11:05


14 :デフォルトの名無しさん:02/08/11 11:05


15 :デフォルトの名無しさん:02/08/11 11:07


16 :デフォルトの名無しさん:02/08/11 11:07


17 :デフォルトの名無しさん:02/08/11 11:45
WTLの話題もOKなのかな?
WTLに興味があるんだけど、情報が少なくて・・・

Donut本家作者さんのサイトとそこからたどれる
リンク以外でWTLに関して解説してるところって
ありませんか?

18 :デフォルトの名無しさん:02/08/11 11:47
ATLは押しにくいので嫌いです

19 :デフォルトの名無しさん:02/08/11 11:59
つーか、ATL7.0の情報もWTL並みに少なすぎだよ・・・。

20 :デフォルトの名無しさん:02/08/11 13:46
死して屍拾うものなし

21 :デフォルトの名無しさん:02/08/13 23:11
つーか、ATLをMSDN読みながら使おうとするのダメ。
ソースを読んで、実装依存にならないようにドキュメントを確認するのが最良
つか、MFCと違ってATLは単純だからソースをドキュメントとして使用できます。

22 :デフォルトの名無しさん:02/08/22 16:59
ATL7.0 のウィンドウクラスを用いて、
普通のWin32アプリ作っている人たちに質問。
WinMain 内の基礎的な処理(メッセージループとかWindowの作成)
を書くときに、

1. CExeModule に任せる
2. メッセージループベタ書き(or自作クラス)
3.  WTL7.0 に任せる

のどれが一番ナイスな手法ですか?

23 :デフォルトの名無しさん:02/08/22 19:19
>>22
3.

24 :デフォルトの名無しさん:02/08/22 23:22
質問です。
ATLで作成したActiveXを、IEで表示しているのですが、
OBJECTタグで指定したWIDTHやHEIGHTの値を、
PARAMタグが処理される前に取得したいのです。
(もしくは一つ目のPARAMタグ処理)
どうもPARAMタグ処理後でないと、ウインドウが作られないため、
ウインドウサイズの取得が出来ません。
何かよい方法はないでしょうか。

25 :デフォルトの名無しさん:02/08/23 00:20
>>24
SetExtensionなんちゃらかんちゃらをオーバーライド
(ソース見られないところからだからいい加減)

26 :24:02/08/23 00:27
>>25 レスどーもです。
HRESULT IOleObject_SetExtent(DWORD dwDrawAspect, SIZEL *psizel)
のことですよね・・・
これ試したんですけど、
PARAMタグで全てのプロパティセット後に呼ばれてるんですよ
くやしいです

27 :デフォルトの名無しさん:02/08/23 09:29
>>23

やはり、WTL7.0ですか。
ただ、CAppModule はATL7だと、邪魔な気もするんですよね。
CAtlBaseModule があるのに、いらんやろとか思ってしまう。

28 :デフォルトの名無しさん:02/08/24 02:27
>>26
あれ? SetObjectRectsの方が早かったかな?
これより早いとオブジェクト自体作られていないっていうギリギリだったはず。

29 :to:02/08/28 02:56
ATL初心者です。。

ATLの動作がいまいち理解できません。
Donutをダウンロードしてステップ実行をしているのですが、メインのMDIウインドウ
はどこで定義されているのでしょうか?
MDIのウィンドウを標準ではなくて、自前の画像などを貼り付けてメディアプレーヤー
みたいなブラウザを作ろうと思っています。

あと、ATLを解説しているいいHPを知っていたら教えてください。
お願いします。

30 :デフォルトの名無しさん:02/08/28 03:20
>>29
良書は沢山あるけど、ATL日本語の良サイトはないな

31 :to:02/08/28 16:52
>>30
何かおすすめの本ありますか??


32 :デフォルトの名無しさん:02/08/28 17:02
http://www.amazon.co.jp/exec/obidos/ASIN/4756132804/249-0481596-1404367

33 :デフォルトの名無しさん:02/09/02 18:45
ATL初心者です。

ATLで、ブラウザ上で実行させるコントロールを作成しているのですが、
タイマーを使うことができません。
CWindow::OnTimer(...)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
をオーバーライドさせているのですが、反応しません。

いろいろ悩んだのですが、コントロールが表示される領域に
CWindowから継承されるウィンドウを貼り付け、それのタイマーを利用する
ことも考えました。が、そもそもウィンドウを貼り付ける方法も分かりません。

よく分かっていないので、極めてレベルの低い質問になってしまうのですが、
<object ...></object>で表示されている画面というのは、ブラウザ上に存在する、
ボタン或いはエディットボックスのような1個のウィンドウと
みなしてよいのでしょうか。それとも、ブラウザのビューウィンドウの一部を
間借りしていると考えたほうがよいのでしょうか。

ひとつご教授ください。お願いします。

34 :デフォルトの名無しさん:02/09/10 11:08
ActiveXDLLを作る方法がわかるWebページありませんか?

35 :デフォルトの名無しさん:02/09/10 11:15
SetTimerについて言及していないのは、なんでだろうか。

36 :デフォルトの名無しさん:02/09/10 12:39
CComBSTRって
bool 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
とかは定義されてないの?



37 :デフォルトの名無しさん:02/09/11 10:49
誰も分からんのか・・・

38 :デフォルトの名無しさん:02/09/11 11:13
<と==だけあれば別に困らないから。

39 :デフォルトの名無しさん:02/09/11 16:20
おい!困らない奴! 教えてくださいませんか。

CComBSTRと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); }


40 :デフォルトの名無しさん:02/09/11 16:21
// operator>
inline 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); }


41 :デフォルトの名無しさん:02/09/11 16:23
と、
bool operator>(const CComBSTR& s, BSTR t)
bool operator<=(const CComBSTR& s, BSTR t)
が、既定義のoperator<()とoperator=()を使って定義できず、
ダサダサになってしまいます。

なんとかならんもんでしょうか?
おながいします。

42 :デフォルトの名無しさん:02/09/11 16:37
WTLの全てを教えてください


43 :デフォルトの名無しさん:02/09/11 16:39
何箇所か間違いがありましたが、言いたい事は分かってもらえたかな?

44 :デフォルトの名無しさん:02/09/12 18:47
おい賢いおまいら、
ATLって何なのか簡潔におしえてくだしぃ。
COMプログラミングのどの辺がらくになるの。

45 :デフォルトの名無しさん:02/09/12 19:02
STLの質問も受け付けていますか?

46 :デフォルトの名無しさん:02/09/12 19:02
すれ違いだタコ

47 :デフォルトの名無しさん:02/09/12 19:03
>>46
なんでそんなにレスはやいんだ?

48 :デフォルトの名無しさん:02/09/12 19:13
ATLのAって何?Application?

49 :デフォルトの名無しさん:02/09/12 19:22
>>48
Listen me

50 :デフォルトの名無しさん:02/09/12 19:29
ActiveX

51 :デフォルトの名無しさん:02/09/12 19:29
Ask meじゃネーノ?

52 :まじれす:02/09/13 17:07
>>48
Active Template Library

53 :デフォルトの名無しさん:02/09/13 17:22
ATLなんて、ATLWindow クラスと、ATLControls に含まれるコモンコントロールラッパー、
そして ATLスマートクラス しか使わないが。
こんな俺は逝ってよしか?

54 :デフォルトの名無しさん:02/09/13 17:56
xxxModuleは使わんの?

55 :デフォルトの名無しさん:02/09/13 22:35
>>54

ATL7 だから、 特に意識はしてない。
自分でインスタンス作る必要ないし。

56 :55:02/09/13 22:37
>>54
とか思ってたら、HINSTANCE の取得に
CAtlBaseModule::GetResourceInstance 使ってたよ。

57 :デフォルトの名無しさん:02/09/16 05:49
つか、ATLは雑に作られすぎてるので、コアな部分をツマミ食いするだけに留めた方がいいよな。
(ウィンドウ関係、使えなさ過ぎ)

58 :デフォルトの名無しさん:02/09/16 10:45
ウインドウ関係だけがおいしい(WTLだが)と思ってるんだが、
具体的にどう雑なんだ?

59 :デフォルトの名無しさん:02/09/19 09:22
ATLのコントロールから親のウィンドウハンドルやインスタンスを得ることは出来ないのでしょうか?
IE上で動いてるコントロールからIEのハンドルを得たいのですけれど。

60 :デフォルトの名無しさん:02/09/21 22:33
>>59
ATLからのとりかたは知らないんだけど、
前にIEを操作したときは、DDEとか、COMのWebControl使ったぞ

61 :デフォルトの名無しさん:02/09/25 01:57
ATLのCWndPprocThunkでHWNDをthisに置き換えてますが、
なんでecxにthisを入れてjmpしないのでしょうか?
その方がthunkのコードも小さくなるのに。

何かの理由で直接ecxを触れると不味いとかあるのですか?

62 :デフォルトの名無しさん:02/09/25 08:35
>>61
・メンバ関数の呼び出しにthiscallを使わない処理系(bccとか)で
 使えなくなってしまうから。

・Alpha版とかSH3版とかMIPS版とかARM版とかIA64版とかとコード共有しやすいから。

・VC限定にしても、メンバ関数のアドレスって正攻法で取得できるものだっけ?
 &Class::Member だと必ずしもアドレスの数値が帰ってくるとは限らんし。
 (↑VC++&多重継承無し&非virtual、ならたしか大丈夫だった気もするが)

・ecxはcallerが退避するので書き換えても問題ないと思う。

63 :デフォルトの名無しさん:02/09/25 09:23
virtual/多重継承アリでも問題なくアドレスが返ってくることは確認出来ました。

しかし、
>メンバ関数のアドレスって正攻法で取得できるものだっけ
これが気になるのでATLと同じにした方が良さそうですね。

ありがとうございました

64 :デフォルトの名無しさん:02/10/08 00:58
ATL(DLL)でmath.hをインクルードして使用すると、_fltusedの多重定義で
エラーが起きます。atlimpl.cppの_fltused定義をコメントアウトすると、
リンク時に_mainが未解決であると怒られます。

どなたか原因がおわかりのかたいらっしゃらないでしょうか?

65 :デフォルトの名無しさん:02/10/08 01:14
ATL_MIN_CRTだかがプロジェクトの
どっかに定義してあるから、それを消してみれば

66 :デフォルトの名無しさん:02/10/08 01:25
できました・・・。#undefしたら通りました。
意味はよくわかりませんが・・・。ありがとうございます。

67 :デフォルトの名無しさん:02/10/10 17:47
OS:Windows NT Sp6a
IE: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"

と出てきますので、どうやらなんかの例外でこけているようなのですが、何が原因なのかまったく見当がつきません。
いままでいくつも作ってきてこんなことなかったのに...

誰か助けてください。

68 :デフォルトの名無しさん:02/10/12 11:20
>>67
Debug モードのときには動いて、Release モードの時には動かないの?
ASEERT 系マクロの中に関数とか指定していないか調べた?

69 :デフォルトの名無しさん:02/10/12 14:51
>>68
×ASEERT
○ASSERT

70 :デフォルトの名無しさん:02/10/15 00:26
>68
ありがとうございます。

それが、スケルトンプロジェクトでATLオブジェクトを挿入しただけの
ものでも起こるという状態でして...

環境再構築かなぁ

71 :デフォルトの名無しさん:02/10/26 03:39
CAutoPtr<CBase> P(new CDerived) ; //CDerived は CBase の派生
//Pを使う
P.Free(); //CDerived::~CDerived は呼ばれない!

…CAutoPtrってこういうものなんですかね。
もちろんデストラクタはvirtualです。

72 :デフォルトの名無しさん:02/10/26 10:29
Free() ってただの delete m_p; だから、
そこでdeleteした時に呼ばれる関数なら全てCAutoPtr::Freeを
読んだときでも呼ばれるはず。

delete P.Detach(); ならうまく行くのかどうかチェックしてみ。

73 :71:02/10/27 01:42
>72 サンクス。

申し訳ない。単純な形でのテストを怠ってました。
コンソールアプリで普通にやってみたら
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();
}


74 :71:02/10/28 22:45
>71-73
お騒がせしました。解決しました。
…下記の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 ;

#しかしなんだってコンパイルできちゃうんだ、これ。

75 :デフォルトの名無しさん:02/10/29 00:39
age

76 :デフォルトの名無しさん:02/10/29 10:38
WTLの話なのでスレ違いかもしれませんが・・・。

WTLを使いたいのですが、上のほうに書いてあった「ATLインターナル」を買おうかと思っています。
「ATL COM プログラミング」なら持っているのですが、WTLに関する情報は皆無です。
「ATLインターナル」ではWTLに関する情報はどれくらいありますか?
最新はWTL7なんですよね?「ATLインターナル」で扱われているバージョンと違いはありますか?
もしくはWTLに特化した書籍は他に何かありますか?

田舎なもんで、本屋で立ち読みするわけにもいきません。
WTLには非常に興味があるので、どうかご教授願います。


77 :76:02/10/29 11:02
ひょっとしてWTL7は.NETでしか使えないという罠?

78 :デフォルトの名無しさん:02/10/29 11:10
当然C++.NETでしか使えないわけだが
そんなものだれが使うんですか?

79 :デフォルトの名無しさん:02/10/29 11:25
>>76

ATL インターナルにWTLの話題はないよ。
つーか、WTL 出る前に書かれたものだし。
ATLウィンドウクラスを解説した章は WTL にもそのまま当てはまるし、
読んでおけば、WTL のソースをそれほど苦労することなく読めるようになる。

あと、WTLを扱った本はないはず。(少なくとも日本語では)

>>77
んなことたぁない

80 :76:02/10/29 11:53
>>79

WTLの話題は無いのですね。。。残念です。
「ATL COM プログラミング」にウインドウクラスの話題があったかどうか覚えていないので、まずそれを確認してから「ATLインターナル」を読みたいと思います。

それと、サンプルのAlphaって、XPじゃないとコンパイルできないのでしょうか?


81 :デフォルトの名無しさん:02/10/29 13:30
>>79

Alpha って、コモンコントロールのサンプル?
WINVER とか その辺のマクロを直せばコンパイルとおるだろ

82 :デフォルトの名無しさん:02/11/02 20:12
http://www.amazon.co.jp/exec/obidos/ASIN/4756132804/249-0481596-1404367

83 :デフォルトの名無しさん:02/11/07 13:05
WTLは?

84 :デフォルトの名無しさん:02/11/08 15:37
MSDNのサイトからPlatformSDKを落して使っています。
WTLを使って見たいのですが、これはSDKには含まれて
いないのでしょうか?個別に落す必要があるのなら
それはそれで構わないのですが。。。どうなんでしょうか?

85 :デフォルトの名無しさん:02/11/08 16:41
ttp://download.microsoft.com/download/VisualStudioNET/Install/7.0/WXP/EN-US/WTL70.exe
で落とせる

86 :デフォルトの名無しさん:02/11/08 16:58
>>85
さんくす個。とりあえず、内容なので落したの入れてみました。
MFCすらつかったことがないので、WTLのよさが分るかどうか
ちょっと怪しいんですが、いろいろソース読んだりして勉強したい
です。

87 :デフォルトの名無しさん:02/11/08 18:59
ちなみにPlatformSDKではWTLはインストールされない模様です。
http://www.mars.dti.ne.jp/~kattoshi/Program/Install/Install.html

88 :デフォルトの名無しさん:02/11/21 22:50
C言語

89 :デフォルトの名無しさん:02/11/22 16:23
Ask meじゃネーノ?

90 :デフォルトの名無しさん:02/11/29 12:39
age

91 :デフォルトの名無しさん:02/12/02 00:15
age

92 :デフォルトの名無しさん:02/12/08 03:44
そろそろ ATL/WTL は賞味期限切れ。
どとねとに移行しなされ。

93 :デフォルトの名無しさん:02/12/11 12:26
>>92
そうでもない。

94 :デフォルトの名無しさん:02/12/19 21:14
WTLでActiveXって、どうやって使うの?
クラスウィザードも使えないし...


95 :デフォルトの名無しさん:02/12/19 23:40
IWebBrowser2の使い方が禿しく分からん。
誰かバカにもわかるように解説してりろ。

96 :94:02/12/20 07:30
すみません。自己解決しました。
WTLで検索していたので見つからなかったみたいで、
ATLで探したら簡単に見つかりました。

>>95
下記のページが参考になるかも?
ttp://www.nitoyon.com/vc/tips/ie_component.htm


97 :95:02/12/22 03:10
>>96
ありがとう。それみてなんとかやってみます。

98 :デフォルトの名無しさん:02/12/23 06:50
すんません。
CComBSTR → char* への変換教えてください。


99 :デフォルトの名無しさん:02/12/23 07:35
自己レス
CComBSTR bstr;
CString tmp((BSTR)bstr);
でいけた。


くそったれが。さいしょからbstr.GetAnsiChar()でも用意しときやがれ


100 :デフォルトの名無しさん:02/12/23 07:43
>>98-99
CString使うなって。マクロで確かW2T(?)があったはず・・・。
bstr_tならLPCTSTRにキャスト可能。

101 :デフォルトの名無しさん:02/12/23 18:38
OLE2TとT2OLEが一番無難じゃない?
昔は変換の為にBSTR型を大量に宣言してAllocしてたけど、
解放し忘れでメモリリークしたりして大変だったような・・・。



102 :デフォルトの名無しさん:02/12/23 18:55
WTL7.0ってVC6でもいけるのね?

System Requirements
Microsoft Visual C++® .NET or Visual C++ 6.0


103 :デフォルトの名無しさん:02/12/23 21:11
>100-101
ありがとん。やっぱ何かしらあるとは思ったよ。
しかしW2Tって。。なんちゅーネーミングだ。付けたヤシはカッコイイとでも思ってんのかね
検索してもW2Tなんて出てきた所で気がつきゃしないよ。もっと直感的な名前にしる


104 :名無し@沢村:02/12/24 04:12
>>103
十分直感的な名前やろ。あんたの勘が悪いだけ。
あと、char*への変換が目的ならW2Aにしとけよ。分かったな。

俺なら_bstr_tかWideCharToMultiByte()使うけどな。

105 :デフォルトの名無しさん:02/12/24 06:24
sageてまで荒らすとなるとやっぱ完璧に
共有荒らしハンドルとして定着ですか

106 :デフォルトの名無しさん:02/12/24 11:15

ATL7.0 なら、CA2WEX とか CW2AEX とかの、
C*2[C]*EX テンプレートクラスを使え。
そのほうがより安全だ。

107 :デフォルトの名無しさん:02/12/26 14:30
あああああああ、
_ATL_MIN_CRT ってやってると リリース・ビルド が通らん!

愚痴なのでスルーで。



108 :デフォルトの名無しさん:02/12/26 23:39
WTLで小さなプログラム作りたいのに
fstreamとかiostream使うとすぐにでかくなっちゃう。
テンプレート実装のfstreamとかあればいいのに。

109 :名無し@沢村:02/12/27 08:33
>>108
typedef basic_fstream<char, char_traits<char> > fstream;

110 :デフォルトの名無しさん:02/12/27 12:55
>>107
memcpy とかCのランタイム関数使ってるからでしょ。
APIに置き換えればいいはずだったと思う。たぶん。

111 :デフォルトの名無しさん:02/12/28 17:33
CImage.Loadで読み込んだ画像ファイルを表示させるには、
どうしたらいいですか?

112 :デフォルトの名無しさん:02/12/28 19:02
>>96
漏れもそのサイトのソースをいじろうとしたのですが、VC++.NETではだめだったりしますか?
コンパイルは通るのですが、AtlAxGetControlあたりで処理が引っかかってるらしく、
IE不在のダイアログしかできないです。
それとも単に、ビルドのオプションを間違えているのでしょうか?

113 :名無し@沢村:02/12/28 22:35
>>111
CImage::Draw()

114 :デフォルトの名無しさん:02/12/30 02:21
age

115 : :03/01/07 22:41
age

116 :デフォルトの名無しさん:03/01/07 22:47
>>109 >>113
似非沢村、増殖中。


117 :IP記録実験:03/01/08 21:34
IP記録実験
http://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を提出することがある。

118 :デフォルトの名無しさん:03/01/09 02:36
>>540
逝き遅れの妹発見

119 :デフォルトの名無しさん:03/01/09 03:19
まじっすか、やだもーん

120 :デフォルトの名無しさん:03/01/09 04:01
test

121 :デフォルトの名無しさん:03/01/09 13:22
25歳。
去年まで働いてたんだけど、ひきこもってオンラインボンバーマンで
二年で350点貯めた。一度やってみなよ。
身内で不正だけど、6人くらいでシングル3たてすれば800点くらい貰える。
点数だけ稼いで得点トップなら目立つ事ができるし、序盤ブローグでで赤ボンか黒ボンに
思い切って投げてしまえば50パーセントくらい殺せる。
荒らしが入ればサーバー変えるだけ。暇つぶしになる。
味噌ボンとかぎんぎんパワーあるのでまじオススメ。
http://www.bomberman-online.com/



122 :デフォルトの名無しさん:03/01/09 14:52
>>317-318
来ないと言うやつは又来るが、さようならと言った次のレスにもうコピペする奴は珍しい。

123 :デフォルトの名無しさん:03/01/09 17:28
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

124 :デフォルトの名無しさん:03/01/09 23:17
qb : 2ch批判要望 削除議論 削除要請 削除整理
live2 : ニュース速報
tmp : ニュース極東 ちくり裏事情 政治思想 Download
    厨房! 人権問題 バカニュース 薬・違法
    ゴーマニズム ロビー 最悪 少年犯罪
    違反の潰し方 ペット苦手 なんでもあり 学歴

125 :デフォルトの名無しさん:03/01/10 01:09
どうもです。

126 :デフォルトの名無しさん:03/01/10 09:45
IPとってる板

qb : 2ch批判要望 削除議論 削除要請 削除整理
live2 : ニュース速報
tmp : ニュース極東 ちくり裏事情 政治思想 Download
    厨房! 人権問題 バカニュース 薬・違法
    ゴーマニズム ロビー 最悪 少年犯罪
    違反の潰し方 ペット苦手 なんでもあり 学歴


127 :デフォルトの名無しさん:03/01/10 10:24
つまらないね。

トリップだってさ
全然ボツ。

128 :デフォルトの名無しさん:03/01/10 10:57
まあ、どうにもならんわな。法律的に勝てる可能性は0に限りなく近い。
最高裁いっても新しい事実とかが無い限り逆転はないわな。
弁護士やとっても無駄金を取られるだけになってしまうだろうな。
ここはみんなで400万集める方法を考えた方がいいと思うぞ。

129 :あげ:03/01/10 11:21
ATLのスマートポインタやらなんやらつかうより、
boostやloki使うほうがいいよな?
まー、適材適所なのだが。

130 :デフォルトの名無しさん:03/01/10 11:21
5nd

131 :デフォルトの名無しさん:03/01/10 11:48
2ちゃんねる が衰退していく

あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。

http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html  

132 :デフォルトの名無しさん:03/01/10 13:11
>>129
そーか? ATL の CComPtr はよく出来ていると思うがな。
Loki の ComRefCounted ポリシーは穴だらけ。

133 :129:03/01/10 13:39
>>132
あげついでになんとなくしったかぶって発言してみました。
正直lokiもATLもまだ使ってないっす。
boostとWTLは使ってるんだけどね。

ところでATLでboost/lokiよりすぐれてると思われるものってほかにありますかね?

それにしても日本語の情報サイトってすくないなー。
英語めんどくせー。

134 :デフォルトの名無しさん:03/01/10 15:04
昇進しそびれたボランティア★が揚げ足取りをして罵倒する所ですね。

135 :デフォルトの名無しさん:03/01/10 16:31

観念しなさい

136 :デフォルトの名無しさん:03/01/10 22:54
実験段階は既に終了して、通常運用だと思う。
110番の日なのは狙ったのかな。

137 :デフォルトの名無しさん:03/01/10 23:00
ところで、アホーの投票祭り無いの?
俺は「2ちゃんねるってなに?」に投票してきたけど。

138 :デフォルトの名無しさん:03/01/11 00:16
激しく同意。ヤナ時代になったもんだ・・・

139 :デフォルトの名無しさん:03/01/11 00:25
こうゆう基地外は一度捕まった方が良いと思われ
  ↓
http://ex2.2ch.net/test/read.cgi/morningcoffee/1041906510/29

140 :デフォルトの名無しさん:03/01/11 02:19
>>133
ATL無しでWTLを使う方法を教えて下さい。

141 :デフォルトの名無しさん:03/01/11 09:20
こらポリ製品おまい誰に断って快速スレの継続たてているんだ。

142 :デフォルトの名無しさん:03/01/11 09:20
オウム幹部と麻原が捕まった時のことを思い出すな

143 :デフォルトの名無しさん:03/01/11 09:57
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

144 :デフォルトの名無しさん:03/01/11 10:50
>裁判所や警察からの照会があった場合にはIPを提出することがある。

今までもやってたくせに

145 :デフォルトの名無しさん:03/01/11 11:19
http://temp.employment.yahoo.co.jp/bin/tw_detail?id=dp806473&pf=13&jc=04&jb=04070&ct=job
おまいら、時給20003円の仕事めっけ!

146 :デフォルトの名無しさん:03/01/11 12:55
スレタイもうちょっと・・・なんとか・・・ならないんだよね。

147 :デフォルトの名無しさん:03/01/11 15:42
早く閉鎖してください。
お願いします。

148 :デフォルトの名無しさん:03/01/11 15:48
【無料】みんなでお揃いのユニフォーム【祭り】
http://life2.2ch.net/test/read.cgi/offevent/1042037013/

みんなで2ちゃんユニフォームを作ってワショーイしよう!
同じカッコしたちゃねらーで街を埋め尽くそう!

ユニフォーム代はなんと無料です!
↓ここを利用します。
http://www.getuniform.com/



149 :デフォルトの名無しさん:03/01/11 23:51
もしこれが実行されたらにちゃんは閉鎖だな、きっと

150 :デフォルトの名無しさん:03/01/12 00:02
wって2ちゃん発祥なの?
ださくないか?
(笑)もザサイから、(^^)がナウイよ。

151 :デフォルトの名無しさん:03/01/12 02:38
いや、最近のニュー速は本当に良くなってきたと思うよ。
ニュース速報板だからね。

152 :デフォルトの名無しさん:03/01/12 02:43
(^^)

153 :デフォルトの名無しさん:03/01/12 10:12
心配なら学校休ませればいいのに。ってか、他人の子供なんて
正直どうでもいいような気がするんだなぁ。

154 :デフォルトの名無しさん:03/01/12 20:56
今日新たに登録した顔文字

ヽ(*`Д´)ノぬっころぬ!!!!

155 :デフォルトの名無しさん:03/01/12 20:59
「掲示板の削除依頼は内容証明ですべし」というバカバカしい法律はありません。
そのとき裁判官は「条理」を根拠にします。社会的常識も条理です。
内容証明でなくても裁判で事実を証明できれば勝てます。
プロバイダ責任制限法の条文を読んだけど、どうして免責の対象になるのか?教えてくれる?



156 :デフォルトの名無しさん:03/01/12 21:08
大変なんですねぇ・・・頑張ってヽ(´ー`)ノ

157 :山崎渉:03/01/13 18:44
(^^)

158 :デフォルトの名無しさん:03/01/13 22:48
訴えられたら捕まる?(^_^;)なんか勘違いしてるでしょ

159 :山崎渉:03/01/16 03:16
(^^)

160 :デフォルトの名無しさん:03/01/21 16:09
浮上

161 :山崎渉:03/01/23 20:05
(^^)

162 :デフォルトの名無しさん:03/01/29 00:02
hage

163 :デフォルトの名無しさん:03/02/16 17:44
絶滅種保存age

164 :デフォルトの名無しさん:03/02/16 23:08
いまATLでWebサービスを開発しているのですが、珍しいですかね?

165 :デフォルトの名無しさん:03/02/16 23:16
>>164
ATLって作るのは簡単なんだけど、多分メンテできる人が少ないから避けられると思う。
しかもほとんどのSEはATLって何か知らないから、ATLでやったほうがいい、っていっても却下される。


166 :デフォルトの名無しさん:03/02/16 23:25
そうかあ。もったいないなあ。ATL良くできてるのに。

167 :デフォルトの名無しさん:03/02/16 23:32
ATL Serverを使った一大プロジェクト、.NET MyServicesがこけた時点でATLは終わった。
GUIの強みもLonghornで無くなる。

168 :デフォルトの名無しさん:03/02/17 00:06
最初はATLを使ってWEBサービスに組み込んでたんだけど
なんでこんな面倒な事をするのかよくわからななくなったので
やめました。

169 :デフォルトの名無しさん:03/02/18 01:25
いいかげん、MFCが滅んでくれるのがいいのだけどね。
VBみたいな存在になりつつある。嫌過ぎ。

170 :デフォルトの名無しさん:03/02/18 01:50
>>169
ATLがVBみたいな存在なの?
どういう意味で?

171 :デフォルトの名無しさん:03/02/18 11:23
VBって作るのは簡単なんだけど、多分メンテできる人が少ないから避けられると思う。
しかもほとんどのSEはVBって何か知らないから、VBでやったほうがいい、っていっても却下される。

172 :デフォルトの名無しさん:03/02/19 00:36
>170
169じゃないけど。MFCがVBみたいなんじゃないかなあ。
APIレベルの動作を知らないで変なことをやっちゃう人が
多いんでしょ。オレも5年くらい前はかなりそんなの作ってた。

>171
ネタ?ATLについてならそういうこと言えるかも。

173 :デフォルトの名無しさん:03/02/19 10:07
MFCって作るのは簡単なんだけど、多分メンテできる人が少ないから避けられると思う。
しかもほとんどのSEはMFCって何か知らないから、MFCでやったほうがいい、っていっても却下される。

174 :テンプレ:03/02/20 03:31
○○って作るのは簡単なんだけど、多分メンテできる人が少ないから避けられると思う。
しかもほとんどのSEは○○って何か知らないから、MFCでやったほうがいい、っていっても却下される。

175 :デフォルトの名無しさん:03/02/20 13:14
点プレ減点33点

176 :デフォルトの名無しさん:03/02/21 00:03
ATLとSTLってどう違うんですか?

177 :デフォルトの名無しさん:03/03/02 22:06
WTLでこんな感じで
class CFileView : public CWindowImpl<CFileView, CListViewCtrl>
リストビュー生成したんだけど、
これの初期化(カラムの追加とか)ってどこでやればいいの?
OnCreate作ってやっても追加できなかったんだけど。

同じコードをOnChar作って書くと
キー押せばちゃんと追加されるのは確認済み。

178 :デフォルトの名無しさん:03/03/02 22:31
OnCreateでできたよ。

179 :177:03/03/02 23:14
>>178
ありがとう。自分のミスでした。
OnCreateをオーバーライドしたら自分でDefWindowProcも
呼んであげないといけないのね。
呼んでなかったので、リストビュー自体が作られてなかったみたいです。
呼ぶようにしたらできました。初心者でスマソ。

180 :デフォルトの名無しさん:03/03/07 19:03
WTLってなんでこんなに流行らないの?
日本語ページほとんど無いし、Donutくらいしか使ってるソフト無いし。

テンプレートベースだから実行ファイルは小さいしランタイムもいらないし、
MFCをシェイプアップした感じのクラス構成は使いやすいし、
生API+C++で書くのと違ってわざわざGetWindowLongでthis変数取得したりしなくても
ちゃんとOOできるし。
WindowsのGUIライブラリとしては最強だと思うんだけど。

181 :デフォルトの名無しさん:03/03/07 19:57
>>180
サイズを追求するならフレームワークは自作するし、そうでないならMFCで十分
WTLは中途半端




182 :デフォルトの名無しさん:03/03/07 20:51
>>180
時代は.NETだから。
商用ソフトはメーカーに見捨てられた時点で終わり。

183 :デフォルトの名無しさん:03/03/07 21:06
商用だったのか…

184 :デフォルトの名無しさん:03/03/07 23:15
>>181
サイズを追及するなら普通WTLだろ?
「MFCで十分」ってのもおかしな表現だよな。
大掛かりなのはMFCの方なんだから、
普通は「WTLで十分」になるはずなんだが・・・

185 :デフォルトの名無しさん:03/03/07 23:15
WTLはもちろんフリーだが・・・

186 :デフォルトの名無しさん:03/03/07 23:23
WTLは最低でも24KBになるから本当にサイズを追求するならWTLは使えない。


187 :デフォルトの名無しさん:03/03/07 23:27
upxだ!

188 :デフォルトの名無しさん:03/03/07 23:29
>>186
そういう「普通じゃない」場合には確かに使えないかもな。
Donutは一時期、「世界一小さいサイズのタブブラウザ」とか言ってたけど、
WTLはサイズがかなり小さめなのは確か。

189 :デフォルトの名無しさん:03/03/07 23:34
>>187
小さいexeを要求するユーザほどUPXは嫌がるんだよね。
実力で小さくして欲しいらしい。

190 :デフォルトの名無しさん:03/03/07 23:39
それにしても使ってる人少ないね。
ほとんどのPGがテンプレート拒否症なだけのような気が。
テンプレート好んで使うような香具師は、
Windowsプログラミングなんてやってなさそう。

191 :デフォルトの名無しさん:03/03/07 23:39
>>189
UPXだと複数起動時に読み込み専用領域が共有されないし
もっともほとんどは真面目にREBASEしてないから関係ないが


192 :デフォルトの名無しさん:03/03/07 23:45
テンプレート拒否症って、ようするにテンプレートあんまり慣れてないとか、知らないとかだろ。
まあ大多数のPGのレベルなんてそんなもんだよなぁ。

193 :デフォルトの名無しさん:03/03/08 00:53
デフォルトでは インストール されない から。

…WTL用のウィザードってあったっけ?

194 :デフォルトの名無しさん:03/03/08 00:58
MSが宣伝してないからだ。もう.NETだし。

195 :デフォルトの名無しさん:03/03/08 01:02
うーむ、皆さん.NETへ移行してるんですか?
個人レベルでも?

196 :デフォルトの名無しさん:03/03/08 01:09
いや、個人が移行してなくてもMSがその気だから。
MSが宣伝しないとWTLがあること自体知らない人も多いだろう。

197 :デフォルトの名無しさん:03/03/08 01:49
.NETになると、C++でもライブラリが変わるのか?
持ってないから知らないんだけど。

198 :デフォルトの名無しさん:03/03/08 01:55
managed C++なんて嫌だ。

199 :デフォルトの名無しさん:03/03/08 02:01
>>198
意外にクセになるよ。麻薬みたいなもん。

200 :デフォルトの名無しさん:03/03/08 02:28
WTLはおそらく上級者が使う場合が多いから、日本語ドキュメントのサイトなんて必要ないんだよな。
ソース見ればだいたい解るからな。

201 :デフォルトの名無しさん:03/03/08 02:32
なんで英語サイトはたくさんあるのに日本語サイトは全くないの?
外人の方がレベル高いって事?

202 :デフォルトの名無しさん:03/03/08 02:42
上級者とか初心者とか関係なしに、使いにくいからじゃないの?
APIを薄くラッピングしただけにすぎないし、
そこそこやってるなら自前で作ってただろうし(出るのが遅すぎ)
そうでない人はMFCで満足してるかB系に流れるか。

203 :デフォルトの名無しさん:03/03/08 03:01
かなり設計が練られてて、ハイレベルなので、自前で作ったのよりは
出来がいいはず。
そのままAPI使うよりは、オブジェクト指向やジェネリックプログラミングを
格段に導入しやすくなってる。
MFCみたいにランタイムが必要なわけでもないし、設計が悪いわけでもない。

204 :デフォルトの名無しさん:03/03/08 16:37
WTLより自作のほうがいいと信じてる人は
きっとリンクリストの再発明も繰り返してるんだろうな
STL? 自作したほうが効率がいいに決まってるじゃない

205 :デフォルトの名無しさん:03/03/08 18:06
自作の方が良いというか
今まで自作で間に合ってきたから
わざわざ乗り換える必然性が無いというか

206 :デフォルトの名無しさん:03/03/08 19:29
それならわかる。
> 出るのが遅すぎ
ってこったな。

207 :デフォルトの名無しさん:03/03/08 21:46
それで今まで自作でやって来た人がWTL使いに抜かされて、
WTL使いが.NET使いに抜かされていくわけですね。

208 :デフォルトの名無しさん:03/03/08 23:26
>>207
どういう意味で"抜かされる"のですか?

209 :デフォルトの名無しさん:03/03/08 23:44
実用的技術力
開発効率

210 :デフォルトの名無しさん:03/03/08 23:57
はたしてWTLが実用的なのかと小一時間(ry
WTLも自作フレームワークも、つぶしのきかない技術であることに変わりはないな

211 :デフォルトの名無しさん:03/03/09 00:35
非実用性なら.NETの方がWTLより上だろう。
それでもカビの生えたWTLよりは使われていくだろう。
.NETの寿命は短いかもしれないが。

212 :デフォルトの名無しさん:03/03/09 01:14
>>210
>はたしてWTLが実用的なのかと小一時間

( ´,_ゝ`)プゥー 実用できるほど学習する能力が君に無いだけだろ

213 :デフォルトの名無しさん:03/03/09 01:16
書くコード量が少ないつまり開発効率がいい方から順に
.NET > WTL > 自作フレームワーク

214 :デフォルトの名無しさん:03/03/09 01:39
単にウィザードが発達してるだけだとか

215 :デフォルトの名無しさん:03/03/09 02:28
最近Tony Goodhewの名前を聞かなくなったな。

216 :デフォルトの名無しさん:03/03/09 02:54
.NETのManagedC++のライブラリってどんな感じなの?
テンプレート使うの?
あと、WTLってテンプレート使ってるのがMFCとの根本的な違いだと思うけど、
それで何が良くなるの?
サンプルを見た感じだと普通にクラスの継承を使ってるし、MFCとの違いが
イマイチよくわから無かった。

217 :デフォルトの名無しさん:03/03/09 03:27
Managed C++==属性つきプログラミング
であってる?
IDLファイルとか作らなくてイイヤツの事?

218 :デフォルトの名無しさん:03/03/09 03:33
WTLは基本的にvirtualを使わないで多胎を実現してる

219 :デフォルトの名無しさん:03/03/09 08:53
>>213
バグが出にくい、デバッグしやすい、再利用がしやすい、
つまり開発効率いい方から順に
Swing > AWT > WTL > 自作フレームワーク >>>>>ジェリコの壁>>>>> .NET


220 :デフォルトの名無しさん:03/03/09 16:09
Java厨キタ━━━━━(゚∀゚)━━━━━!!

221 :デフォルトの名無しさん:03/03/09 17:25
WTLってフレームワークからしてバグバグだよな

222 :デフォルトの名無しさん:03/03/09 17:27
ヘッダだけなので簡単に修正できるし修正箇所とかもも
全部ネットに載ってるけどね。

223 :デフォルトの名無しさん:03/03/09 22:18
>>222
URLキボンヌ。
最新のバージョンは結構バグが直ったって聞いたけどなぁ。

224 :デフォルトの名無しさん:03/03/09 22:51
>>223
http://members.jcom.home.ne.jp/rapt/files/src/DonutRAPT_40_src.cab
の中とか、海外のMLとか

225 :デフォルトの名無しさん:03/03/10 00:29
.NETでATLプロジェクト作ってコンパイルしても、
リソースのバージョンが反映されていないんだけど俺だけ?
後で出来たDLLのプロパティ見ても空っぽになってる。

226 :デフォルトの名無しさん:03/03/10 00:41
>>225
初心者が良くやるやつだな

227 :デフォルトの名無しさん:03/03/10 01:00
>>226
え?
どこ直すの?

228 :デフォルトの名無しさん:03/03/10 01:04
ツールバーの別のボタンを押せ

229 :デフォルトの名無しさん:03/03/10 01:35
>>228
どこどこ?
マジでわかんない。
つか.NETからだよね、これって。
VC++6.0じゃこんなこと無かったし。

230 :デフォルトの名無しさん:03/03/11 01:36
raptのfixedwtl7と標準のWTL7をdiffしてみたが
WTL7も相当バグってるな。

231 :デフォルトの名無しさん:03/03/11 09:14
そんなにバグが放置されまくってること自体
マイナー & MSにやる気がないことの現れだな

232 :デフォルトの名無しさん:03/03/11 09:18
APIのバグも長期放置するけどナー

233 :デフォルトの名無しさん:03/03/11 16:38
開発していて、望んだ動作をしていない場合、
WTLのソースをその都度変えちゃってる。
バグなのかどうかはわからんが。

234 :デフォルトの名無しさん:03/03/11 17:48
>>233
Σ( ̄▽ ̄;)

235 :デフォルトの名無しさん:03/03/11 18:46
>>234
改変したWTLのソースごと持ち運んでも大したサイズにならないんだし、
別にいいんじゃない?

236 :235:03/03/11 18:48
改変したWTLで作ったソフトをオープンソースで公開するとしても、
改変部分のdiffを取って同梱するか、
Raptみたいに改変したファイルだけ付属しちゃえばいいんだし。

237 :デフォルトの名無しさん:03/03/11 18:56
テンプレートライブラリだから微妙に改造された少しずつ異なる
DLLが出回って収拾つかなくなったりもしないし

238 :デフォルトの名無しさん:03/03/12 02:37
ヘッダファイルだけってのは手軽でいいよな。
ATLもそうなの?

239 :デフォルトの名無しさん:03/03/12 04:42
おまえらライブラリのソースを勝手に変更して、
「スタティックリンクしかしないからいいじゃん」
っていってる厨と同レベルだな

240 :デフォルトの名無しさん:03/03/12 08:56
何が厨なのか説明しないお前が厨

241 :デフォルトの名無しさん:03/03/12 10:29
WTLのヘッダがが変更されてることに気づかずソースを参考にして別のプログラムを作ってみたら挙動が違って混乱する罠

242 :デフォルトの名無しさん:03/03/12 14:40
でも、変更したものを配布しちゃって良いのか?

243 :デフォルトの名無しさん:03/03/12 16:07
差分だけなら問題なし
差分だけで同一性保持権の侵害に問われる可能性もなくはないが
プログラムの著作物でバグ取りという前提だからさらに無問題

244 :デフォルトの名無しさん:03/03/12 22:16
WTLでアイコンつきメニューを使う場合はわざわざコマンドバー作らないと駄目ですか?
CMenuの実装見てもオーナードローらしきコードは見当たらないし。

245 :225:03/03/13 01:47
しつこくてすまぬ。
どうしても.NETのATLプロジェクトでバージョンが
反映されないのが分からない。
たすけて・・・。

246 :デフォルトの名無しさん:03/03/13 03:04
ライブラリを変更しないのは、主にライブラリのバージョンアップ時に、
自分のソースとライブラリのソースを、変更しなくて済むようにするためだろ。
なに? WTLはもうバージョンアップしない??

247 :デフォルトの名無しさん:03/03/13 06:14
>>245
クリーンビルドじゃ駄目か?

248 :デフォルトの名無しさん:03/03/13 08:28
>>246
バージョンアップしたらまた直すが。
つーか、バグだろうし。

249 :225:03/03/13 09:22
>>247
さんくす。

それもダメでした。
いくつか作ったけど、どれもこれもダメ。
プロキシ/スタブの方は問題なく反映される。
環境も会社と家ので試したけどどちらもダメ。

他のみんなは反映されてるの?

250 :デフォルトの名無しさん:03/03/13 22:35
WTLおもしろそう。

これから勉強しよ〜っと。

251 :デフォルトの名無しさん:03/03/13 22:48
ATLってなんでtry〜catch使うとコンパイラで警告出るの?

252 :デフォルトの名無しさん:03/03/13 22:55
>>251
コンパイルオプションの設定が悪い

253 :250:03/03/14 14:11
ちょっと触っただけだけど興味深い・・・


VC7だと毎回「古い形式じゃゴルァ!」と出るのがウザイんだけど・・・

254 :デフォルトの名無しさん:03/03/14 17:54
マジ?
どこがどう古い形式なんだ?

255 :250:03/03/14 19:52

あれ、初めの一回だけ?
もう出なくなった。

256 :デフォルトの名無しさん:03/03/14 20:39
何が古い形式なのかわからんけど、ワークスペース等は一度変換してしまえば無問題

257 :デフォルトの名無しさん:03/03/15 02:50
属性付きプロジェクトでWTLのビルドを通すようにするのには苦労したぜ。

258 :名無しさん♯:03/03/15 18:38
VS 2003でWTLを使う方法。

1. 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. セットアップ実行

259 :デフォルトの名無しさん:03/03/15 22:59
VS2003って何?

260 :デフォルトの名無しさん:03/03/16 00:12
>>259
4月か5月に出る。

261 :デフォルトの名無しさん:03/03/17 23:08
VC7でWTL/ATLのプロジェクト作ってコンパイル→実行まで出来るんだけど
CMessageFilterとかWTLの独自アイテムの定義に「定義に移動」で
たどり着けないのですが、そういうものと思ってあきらめた方がいいですか?

262 :デフォルトの名無しさん:03/03/17 23:12
ATLとWTLのファイル全てプロジェクトに追加すれば良いんじゃないのか?

263 :デフォルトの名無しさん:03/03/17 23:52
オプション設定に検索するソースディレクトリの指定がなかったっけ?

264 :261:03/03/18 09:59
Inclide file のPathにWTLのIncludeのパスを設定してもだめでした・・・

265 :デフォルトの名無しさん:03/03/18 12:48
一度作ったCOMのDLLファイル名を変えたいんだけど、どうすればいいかおせーて。

古いDLLがHogeHoge.dllだとします。
で、新しい関数を追加した新しいDLLはHogeHoge2.dllです。
新しい関数はまだ信頼性が保証できないので、二つのDLLを共存させたいんです。
そこで古いプロジェクトに関数を追加して、GUIDを変えたんですが、うまく動きません。

266 :265:03/03/18 13:08
動きました。RGSファイルを書き換えていませんでした・・・

267 :263:03/03/19 01:04
>264
inludeのパス、libのパス、そしてsrcのパス!

268 :263:03/03/19 01:05
う。inludeじゃなくてinclude

269 :デフォルトの名無しさん:03/03/19 20:50
>>267

lib , src は include と同じでいいのかな?
WTLってIncludeしかないよね?

270 :263:03/03/20 00:28
…あ゛、そ、か。
普通のライブラリのつもりでいた。逝ってくるよ…

271 :デフォルトの名無しさん:03/03/22 14:39
良スレあげ

272 :デフォルトの名無しさん:03/03/27 22:42
もしかしてWTLのことってMSDNに記述無いの?

273 :ネニグレクト・ラーファ:03/03/27 22:46
ttp://www.geocities.jp/fieldabout/
「世界の仕組み研究所!!」

何か質問があったらおいらにかかってこいでつ。
活動してなかったけど世界の仕組み研究所は生まれ変わるでつ。
ちょっとづつHTMLがちょっと分かってきたので少しづつアップするでつ。



274 :bloom:03/03/27 22:52
http://www.agemasukudasai.com/bloom/

275 :デフォルトの名無しさん:03/03/27 22:56
俺はこの辺見てる>WTL
ttp://www.codeproject.com/wtl/

276 :デフォルトの名無しさん:03/03/29 02:09
あげ

277 :デフォルトの名無しさん:03/03/30 23:37
ATL ってどこでダウンロードするの?

278 :デフォルトの名無しさん:03/03/30 23:55
VCに付いてくる。
ATLはダウンロード出来ないはず 

279 :デフォルトの名無しさん:03/03/30 23:55
あ、DigitalMarsのサイトでダウンロード出来たかも知れない

280 :デフォルトの名無しさん:03/03/31 00:06
>>277
P2PでVC++ごと落とせ

281 : :03/04/01 14:04
あげあげあげ

282 :デフォルトの名無しさん:03/04/05 11:47
誰かDDX系のマクロだけでもまとめてくれんかの?


MFCとの対応表みたいなの作ってくれるといいのだが・・・

283 :デフォルトの名無しさん:03/04/07 01:07
業務でWTL使ってる人いる?

284 :デフォルトの名無しさん:03/04/07 01:13
http://user.ecc.u-tokyo.ac.jp/~rr26303/develop/wtl/atlcrack.html
>>282

285 :デフォルトの名無しさん:03/04/07 01:49
>>283
職場に保守できる人がないみたいだからから使ってない。

286 :デフォルトの名無しさん:03/04/07 10:03
>>283
∩(・・
職場でC++ 使えるの自分だけだし。
だから、結構自分勝手にやってる。
何よりMFC触ったことがない!





287 :デフォルトの名無しさん:03/04/07 11:54
仕事でWTLって使えないのが普通なんだ…
もしかしてMFC必須なのか…

そもそもC++すら活かせそうにないけど(´Д⊂

288 :283:03/04/07 14:49
>>286
>何よりMFC触ったことがない!

(・∀・)イイ!!

289 :デフォルトの名無しさん:03/04/07 14:59
WTL7.0ってWinXPじゃないとダメなのか・・・

290 :デフォルトの名無しさん:03/04/07 15:03
んなこたーない

291 :283:03/04/07 15:17
>>286 もしかしてBoostとかも使い放題ですか?

292 :デフォルトの名無しさん:03/04/07 18:37
Boostはライセンスの問題とかあるので、微妙。

293 :デフォルトの名無しさん:03/04/08 16:44
http://boost.org/more/lib_guide.htm#License

License 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.


294 :デフォルトの名無しさん:03/04/08 16:46
>>293
>Must be simple to read and understand.
いいな、これw
こういうの好きだ。

295 :デフォルトの名無しさん:03/04/08 16:49
boost を使ったアプリケーションの使用許諾書は短文でなければならないと言う事なのか。

296 :デフォルトの名無しさん:03/04/09 04:12
ライセンスじゃなくてソースコードへの要求では

297 :デフォルトの名無しさん:03/04/09 10:45
WTL7にしたら、atlapp.hでエラーでまくるのだけどうちだけ?

298 :かおりん祭り:03/04/09 10:47
http://saitama.gasuki.com/kaorin/
〜oノハヽo〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄                
  ( ^▽^) < こんなのがございまーす♪ 
= ⊂   )   \_______
= (__/"(__) トテテテ...

299 :あぼーん:03/04/09 10:47
 ( ・∀・)< こんなのみつけたっち♪
http://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

300 :デフォルトの名無しさん:03/04/09 20:24
>>297
スコットさんも出るらしい
ttp://www.idevresource.com/wtl/issues.asp

301 :デフォルトの名無しさん:03/04/09 21:33
>>300
スコットってあの、デジタルカウボーイ"Juranek Scott"か!
こいつは、やばいことになってきたな…

302 :デフォルトの名無しさん:03/04/09 22:57
WTLで作ったソフトはWin95でも動きますか?
MFC7で作ると動かないので、VS.NET以降でのネイティブアプリは
WTL+C++標準ライブラリがいいかなぁと思ってるのですがどうでしょう?
意見を聞かせてください。

303 :デフォルトの名無しさん:03/04/10 02:33
#define WINVERとかちゃんとすれば動きます。

304 :デフォルトの名無しさん:03/04/10 22:58
MDIの子Frameを複数種類持つことは出来ますか?
VS6のソースviewとリソースviewみたいな感じの。

もしかして同じ子Frameクラスを継承すればいいだけ?

305 : :03/04/14 14:24
                _∧_∧_∧_∧_∧_∧_∧_∧_
     デケデケ      |                          |
        ドコドコ   <    小泉政権崩壊まだぁ〜!?     >
   ☆      ドムドム |_  _  _ _ _ _ _ _ _ _|
        ☆   ダダダダ! ∨  ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨
  ドシャーン!  ヽ         オラオラッ!!    ♪
         =≡= ∧_∧     ☆
      ♪   / 〃(・∀・ #)    / シャンシャン
    ♪   〆  ┌\と\と.ヾ∈≡∋ゞ
         ||  γ ⌒ヽヽコ ノ  ||
         || ΣΣ  .|:::|∪〓  ||   ♪
        ./|\人 _.ノノ _||_. /|\

         ドチドチ!

306 :デフォルトの名無しさん:03/04/16 09:27
ATL7なDLLからWTLを使ってウインドウ出したい場合って、
CComModule使わないと駄目ですか?

307 :デフォルトの名無しさん:03/04/17 09:11
WTLってMFCのCInternetSessionみたいなネット関連のクラスはないの……?

308 : :03/04/17 13:47
インテリセンスさへ効いてくれれば業務でも使えるのだが・・・

309 :山崎渉:03/04/17 15:09
(^^)

310 :デフォルトの名無しさん:03/04/17 15:58
>>308
え、効いてない?

311 :デフォルトの名無しさん:03/04/17 16:13
cppと分けてないとか……

312 :308:03/04/17 23:14
>>311
分ければ出るんですか?

313 : :03/04/17 23:49
VC2003 soon age

314 :デフォルトの名無しさん:03/04/18 02:44
MFC使ったこと無いのですが、
WTLのウィザードで生成される

BEGIN_MSG_MAP(CMainDlg)
 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
END_MSG_MAP()

みたいなのって、もしかしてMFCの部類のマクロですか?

315 :デフォルトの名無しさん:03/04/18 05:57
>>314
互換性はあるのかどうか分からんけど、とりあえず>>284参照してみて

316 :デフォルトの名無しさん:03/04/18 10:15
WTLはここでいいのかな・・・よろしければ質問お願いします。

WTLのAppWizardで吐き出した、モードレスダイアログの
テンプレを、他のプロジェクトで使おうと思っていたのですが、
終了時に問題がでちゃいます。流れとしては、

別アプリのウィンドウ生成
COMを初期化

メニューからダイアログ表示を選ばれたら、
以下のようにモードレスダイアログ表示。(Wizardが吐き出した通り)
CMainDlg dlg;
CMessageLoop theLoop;
_Module.AddMessageLoop(&theLoop);
dlg.ShowWindow(SW_SHOWDEFAULT);
theLoop.Run();
_Module.RemoveMessageLoop();

COM終了

という感じす。ダイアログ側から、自分でちゃんと
ダイアログを閉じてからアプリを終了する分には何の問題もありません。

ところが、ダイアログが開いたままだと、アプリ終了時にアプリ側より
ダイアログに終了メッセージを送ってから、アプリを終了すると、
何故かプロセスに残ってしまうんです。

そもそも使い方が悪いとか、何でも良いので助言頂けると幸いです。

317 :デフォルトの名無しさん:03/04/18 10:18
しまった、上げさせてください

318 :デフォルトの名無しさん:03/04/18 14:41
>>316
モーダルダイアログじゃないのに
メッセージループを二つ使ってるみたいだけど
これは理解してやってるの?

319 :デフォルトの名無しさん:03/04/18 14:48
System Requirements
Supported Operating Systems: Windows XP

Required disc space: 1.6 MB
Microsoft Visual C++ .NET or Visual C++ 6.0

って書いてあるけどWin2000でも開発できるの?

320 :デフォルトの名無しさん:03/04/18 15:05
少なくとも WTL(とATLでWTLから参照している部分)はWin2000でも使えたよ。

321 :デフォルトの名無しさん:03/04/18 15:48
>>319
何の話?

322 :デフォルトの名無しさん:03/04/18 15:49
>>321
あぁごめん。WTL7.0の話。ダウンロードページに>>319のように書いてあったので。

323 :316:03/04/18 16:04
>>318
レスありがとうございます。
申し訳ないです、かなり理解してないかもしれません。

アプリのメインウィンドウの方は普通に(つまりWTLの
フレーム関係なしに)初期化しております。
その上で別途モードレスダイアログを立ち上げています。

・・・・書いている内に、かなり変な事している気がしてきました。
やはりメインウィンドウも、WTLを使った形で
生成するべきでしょうか。もう少し良く考えてみます。

324 :デフォルトの名無しさん:03/04/18 18:24
俺は今猛烈に感動している。

「ATL?よく知らんけどCOMで何かすんだべ?俺には関係ないよ。」
と思っていたが、このスレやここからリンクするサイトを読んで、さらに今
MSDNの「ATL 3.0ウィンドウ クラス: 入門」を読んで考えを改めた。
これは1999年のドキュメントだが、俺は今までこんなすばらしいものを
見過ごしてきたのか。

2003年春、俺はATL/WTLに目覚める。

325 :デフォルトの名無しさん:03/04/19 08:58
俺もCOMはよーわからんけど、ATL/WTLはいいと思う。

326 :山崎渉:03/04/20 03:08
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

327 :山崎渉:03/04/20 03:43
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

328 :デフォルトの名無しさん:03/04/23 01:10
>>324
>これは1999年のドキュメントだが、俺は今までこんなすばらしいものを
>見過ごしてきたのか。

すまん。MSDNの「ATL 3.0ウィンドウ クラス: 入門」 を読んだんだが。
そんなほめられるモンじゃないと感じたけどねぇ。

C -> C++ つう流れで SDK -> WTL って考えると、なんでこんな感じになっちゃったの?
ってのが感想。

329 :デフォルトの名無しさん:03/04/23 01:20
こんな感じとは?

330 :デフォルトの名無しさん:03/04/23 12:50
SDKをC++化したわけではないんだが……

331 :デフォルトの名無しさん:03/04/23 13:17
>>329
>>328がMixinとtemplateを知らなかっただけ。

332 : :03/04/23 18:55
templateで喜ぶなよ。って事じゃないの?

333 :デフォルトの名無しさん:03/04/23 20:19
>C -> C++ つう流れで SDK -> WTL って考えると
  _, ._
( ゚ Д゚)  ・・・

334 :デフォルトの名無しさん:03/04/23 21:03
> C -> C++ つう流れで SDK -> WTL って考えると、

どんな感じになると思ったの?

335 :デフォルトの名無しさん:03/04/23 21:25
SDK++

336 :デフォルトの名無しさん:03/04/24 17:03
SDK -> ATL/WTLなら全然問題ないような。
MFC -> ATL/WTLはダメな人多いようだけど。

337 :デフォルトの名無しさん:03/04/24 17:09
結局言い逃げっぽいね<こんな感じ

338 :デフォルトの名無しさん:03/04/24 23:14
つうか単に328がWTLについてけないだけだろ

フィッシングはそろそろやめようや

339 :デフォルトの名無しさん:03/04/24 23:21
つーかWTL8は無さそうだからついていかない方がよさそうだな。

340 :デフォルトの名無しさん:03/04/28 10:43
MFC7で作ったプログラムはWin95では動きませんが、
ATL7で作ったプログラムはWin95でも動くのでしょうか?

341 :デフォルトの名無しさん:03/04/28 10:53
Managed C++にMFC7は使えますか?
Managed C++にATL7は使えますか?

342 :デフォルトの名無しさん:03/04/28 11:48
GC搭載して欲しい。


343 :デフォルトの名無しさん:03/04/28 22:05
お願いですから余計なものつけないで欲しい。

344 :340:03/04/28 22:25
どなたかわかりませんでしょうか。
もし動くなら.NET買おうかなと思ってるのですが・・・

345 :動画直リン:03/04/28 22:26
http://homepage.mac.com/hitomi18/

346 :デフォルトの名無しさん:03/04/28 23:48
>>344
ログ読め

347 :デフォルトの名無しさん:03/04/29 01:06
ログにあるのはWTL7.0。

348 :デフォルトの名無しさん:03/05/07 21:29
あげ

349 :デフォルトの名無しさん:03/05/07 21:34
あがってたのでネタフリ。
VS.NET2003のはATL7.0のままなんだね。
あれ、フレなかった。

350 :デフォルトの名無しさん:03/05/07 21:37
これじゃあヘジも見放すわけだ

351 :デフォルトの名無しさん:03/05/07 21:37
誤爆した

352 :デフォルトの名無しさん:03/05/08 08:32
>>349
違います。
VS.NET 2003 では ATL 7.1 になってます。

353 :デフォルトの名無しさん:03/05/08 13:01
http://www.microsoft.com/japan/msdn/visualc/productinfo/visualc03/topten/upgrade60.asp
の9にATL7.0とあるが・・

354 :352:03/05/08 14:01
>>353
4月分のMSDNライブラリ見た?
「ATL 7.1」で検索すると VS.NET 2003 が ATL 7.1 になってるのがわかるよ。
_ATL_VER も 0x0700 じゃなくて、0x0710 って定義されてます。

355 :デフォルトの名無しさん:03/05/08 16:35
な、なんだってぇー!

356 :デフォルトの名無しさん:03/05/08 16:37
WTLは7.0のままなのかな

357 :デフォルトの名無しさん:03/05/09 00:59
VS2003で
WTLを使う方法
早くきぼんぬ

358 :352:03/05/09 08:08
>>357
>>258

359 :デフォルトの名無しさん:03/05/09 12:42
仮にもIDE使うような人間なら、そのくらい自分で直せよ>357

360 :デフォルトの名無しさん:03/05/10 20:29
>>358 サンクス
>>359 過去ログすら読む暇もなかったのでね

仕事暇になったら勉強しようっとWTL

361 :デフォルトの名無しさん:03/05/10 21:24
>過去ログすら読む暇もなかったのでね
こんな痛い言い訳、書かない方がマシなのに。

362 :デフォルトの名無しさん:03/05/11 03:08
Windowsいぢくらにゃならんようになって、せっせとSDKのラッパークラス作ってたら
既にこんなんがあるんじゃん。タイヤ作りまくり。

363 :デフォルトの名無しさん:03/05/13 03:35
フフフ、MSにATLのバグを直してもらったぜ。

364 :デフォルトの名無しさん:03/05/13 05:15
ATL/MFCはバンバン更新かかってますなぁ

365 :デフォルトの名無しさん:03/05/13 11:24
良いことぢゃ

366 :デフォルトの名無しさん:03/05/13 11:25
ちなみにいつ更新された話をしてるのかな?.NET2003での話?

367 :デフォルトの名無しさん:03/05/13 12:59
COMオブジェクトが、2byte文字フォルダで登録出来ない不具合は直ってる?

368 :363:03/05/13 18:59
>>366
VC7.1のATLのバグだにょ。
インシデント使って文句言ったら修正したファイルを送ってきたにょ。

369 :デフォルトの名無しさん:03/05/13 20:58
>>368
ごめん、>>364に対してのレスなんだ<更新
それとも>>363のような人たちがたくさんいて、今まさに更新されてるって意味なのかな??

370 :デフォルトの名無しさん:03/05/13 23:05
.NETもう終わり?

371 :デフォルトの名無しさん:03/05/16 18:12
死滅ネタは専用スレでやっておくれ

372 :デフォルトの名無しさん:03/05/17 20:59
遅ればせながらATLでHelloWorld作ってみた。

373 :デフォルトの名無しさん:03/05/17 21:00
日記は板違い

374 :デフォルトの名無しさん:03/05/17 21:05
すまんかった。

375 :デフォルトの名無しさん:03/05/17 21:08
Active Template Library

376 :デフォルトの名無しさん:03/05/17 21:10
ATL/WTLは内部でC/C++ライブラリ関数を使ってますか?

377 :デフォルトの名無しさん:03/05/17 21:15
ATL_MIN_CRTなんてオプションがある位だから使ってるんだろうね。

378 :デフォルトの名無しさん:03/05/17 21:33
プログラムのファイルサイズを小さくしたくてCRTを使ってないのだけど、
リストビューやスレッドやvectorのような動的に拡張できる配列も簡単に使いたく、
ATL/WTLが最適かと思ったけど内部でCRT使ってるならかなわぬ夢か・・・

379 :デフォルトの名無しさん:03/05/18 03:24
>>378
だから、ATL_MIN_CRT をつければ CRT を使っているとコンパイルエラーになるよ。
#define ATL_MIN_CRT の状態でコンパイルが通るようにしればOK

380 :デフォルトの名無しさん:03/05/18 10:15
それにしてもなんと情報の少ないことか。。。

381 :デフォルトの名無しさん:03/05/18 12:24
ATL_MIN_CRTでも一部のCRTを使ってますよ。

382 :デフォルトの名無しさん:03/05/18 13:41
ATL_MIN_CRTの名前からして最小限のCRTは使ってそう

383 :デフォルトの名無しさん:03/05/18 14:15
ATL_MIN_CRTを付けてstrcpyを使ってもコンパイル通りますた

384 :デフォルトの名無しさん:03/05/18 14:18
strcpyはLIBCの外で単体でアセンブリコードとして存在するので当たり前です。

385 :デフォルトの名無しさん:03/05/18 14:27
ATL_MIN_CRTを付けてLIBCをはずしてコンパイルが通ればよいのかな?

386 :デフォルトの名無しさん:03/05/20 21:35
MSDN Online見たけど.NETだとやたらAPIのラッパクラスが増えてるんだな
6月に2003買おう。でも今回はMSDNデラックスEditionが無いので(´・ω・`)ショボーン。

387 :デフォルトの名無しさん:03/05/20 22:18
>>386

え!マジで

388 :デフォルトの名無しさん:03/05/21 21:54
>>386
あるよ

389 :デフォルトの名無しさん:03/05/21 22:43
>>388
どっかに書いてある?MSのメールには無かったが・・・

390 :デフォルトの名無しさん:03/05/22 04:40
http://www.atmarkit.co.jp/fdotnet/insiderseye/20030522vs2003/vs2003.html
ここ見るとデラックス版あったよ。

391 :山崎渉:03/05/28 12:55
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

392 :デフォルトの名無しさん:03/06/01 22:47
緊急浮上

393 :デフォルトの名無しさん:03/06/02 00:41
もういいよもういいよなにがWTLだよもういいよどうせやる気無いんだろ
うんざりだよどうせ流行んないよいいよいいよMFCと心中するよぬるぽ

394 :デフォルトの名無しさん:03/06/02 01:57
2003のダイレクトメールが来た。MFC7.1/ATL7.1だった。

395 :デフォルトの名無しさん:03/06/03 13:38
>>393
そんな君にはwxWindowsをお勧めするよ

396 :デフォルトの名無しさん:03/06/03 13:58
>>395
スレ違い

397 :デフォルトの名無しさん:03/06/03 16:34
>>393
ガッ

398 :デフォルトの名無しさん:03/06/04 23:36
ATLでgoogleツールバーみたいなの作ってるんだけど、Navigate2でPOSTするにはどうしたらいいか知ってる香具師いますか?
どうやってもGETとして扱われてるみたいです。

399 :デフォルトの名無しさん:03/06/04 23:41
ttp://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/navigate2.asp
PostDataがNULLだとGETになりますな。

ハズしてたら恥ずかしい。

400 :デフォルトの名無しさん:03/06/04 23:57
sage>>399
Thanks。

PostDataには、いろいろ入れて試してみてるんだけど、POST先のContext-Typeと相違があったら、PostDataはNULLとみなされるらしいっす。
CByteArray型でエンコードした内容を入れなきゃならないらしいけど、このエンコードがうまくいってないみたいです。
というところまではわかったんだけど、CStringをBYTE配列に入れて渡してみてもだめでした。

401 :サンプルです:03/06/05 00:00
☆クリックで救える○マ○コがあるらしい!!☆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html

402 :デフォルトの名無しさん:03/06/10 00:17
あ、何気に解決しました。
ありがとうございます。

403 :デフォルトの名無しさん:03/06/10 10:43
(´-`).。oO(まさか401のリンク先で解決……?)

404 :デフォルトの名無しさん:03/06/15 01:13
あげまする

405 :デフォルトの名無しさん:03/06/22 23:00
hageます。

406 :デフォルトの名無しさん:03/06/23 19:34
WTLの話ってこんなところでやってたのかよ。探しまくったじゃねーかよ!
スレ立てないの?


407 :デフォルトの名無しさん:03/06/23 19:35
まだいいんじゃない。ここでさえ話題止まってるんだし。

408 :デフォルトの名無しさん:03/06/30 01:11
IEのようにReBar領域全体を覆うような境界線を描画させたいものの、
CreateSimpleReBar()のスタイルをいろいろ変えてみてもどうもうまくいかない…。
どうすれば実現できるか、どなたかわかりませんでしょうか。


409 :デフォルトの名無しさん:03/07/03 01:19
>>408
Spy++でIEのReBarと自分のReBarのスタイルを比べてみるといいよ。


410 :408:03/07/05 00:58
>>409
ありがとうございます。
比較してみたもののどうにもうまくいかず…と思いさらに調査していたら、
hp.vector.co.jp/authors/VA016589/wtl/bugs/bugs.html
に同じ症状が見つかりました。自力で描画しないといけないのか…。むむ。

411 :409:03/07/05 02:31
スマン、俺も後で試してみたらCCS_NOPARENTALIGNに行き着いたところで困ったw
やっぱこれで描画するしかないのか……

412 :デフォルトの名無しさん:03/07/06 22:54
VC++.netでWindowsサービスってどうやって作るんだ?
ATLプロジェクトのサービス(exe)選んだけど
http://program.station.ez-net.jp/special/vc/atl/service.asp
ここと同じところで引っかかった。
何か間違ってるのか・・・

413 :デフォルトの名無しさん:03/07/08 01:23
>>412
CodeProject に載ってるよ。
PreMessageLoop にバグがあるから、直せば動くよ。
http://www.codeproject.com/atl/MigratingAtlServices.asp

414 :デフォルトの名無しさん:03/07/08 20:21
>>413
ありがとう。バグだったのか・・・
つーか2002のころからあるみたいだが
2003になってもなおってないとは

415 :ゲイシ:03/07/09 07:21
違うよ仕様だよ

416 :デフォルトの名無しさん:03/07/09 16:06
質問お願いします。

WTL7.0のAppWizardで、普通にSDI Applicationを作成した後、
そのプロジェクトにcppファイルを一つでも加えると、次のエラーが出てしまいます。

「(加えたcppファイル名) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。」

原因を教えていただければ幸いです。

417 :416:03/07/09 16:07
追記すいません、VC++6.0 sp5、Windows2000でやっております。

418 :デフォルトの名無しさん:03/07/09 17:12
#include "stdafx.h"
するか、もしくは、プリコンパイル済みヘッダを使用しない設定にする。


419 :デフォルトの名無しさん:03/07/09 18:15
>>418
レスありがとうございます、無事コンパイルできました。

プリコンパイルって、指定ヘッダをあらかじめまとめておく
…くらいの認識だったのですが、色々やっかいなんですねぇ

420 :山崎 渉:03/07/15 10:00

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

421 : :03/07/16 11:44
TAIdxFuture error LNK2005: "class _variant_t vtMissing" (?vtMissing@@3V_variant_t@@A) は既に comsuppwd.lib(comutil.obj) で定義されています。

意味わからん・・・

422 :デフォルトの名無しさん:03/07/25 01:18
ATC

423 :デフォルトの名無しさん:03/07/27 03:02
ATL7の本出て欲しい

424 :デフォルトの名無しさん:03/07/27 14:54
>>423
MSDNライブラリをプリントアウトすれば?

425 :山崎 渉:03/08/02 02:16
(^^)

426 :デフォルトの名無しさん:03/08/09 18:54
VC7ではATL_MIN_CRTで通ったのに、VC7.1で通らなくなった…

427 :デフォルトの名無しさん:03/08/09 22:16
>>426
へー、ATL_MIN_CRTなんか使ってる人がいるんだ。

428 :山崎 渉:03/08/15 15:49
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

429 :デフォルトの名無しさん:03/08/16 22:30
オウム幹部と麻原が捕まった時のことを思い出すな

430 :デフォルトの名無しさん:03/08/20 09:08
VC6でATLを学ぶのとVC.netのATLで学ぶのどっちがいい?
書籍がVC6のばかりだから、とりあえずVC6で勉強してるんですが。

431 :デフォルトの名無しさん:03/08/20 10:23
個人的な意見だけど、最新版のATLを使えるようにした方がいいと思うよ。
いろいろ便利になってるし。

432 :430:03/08/22 08:54
>>431
VC.netで作ってもCOMなんだから、VB6からも普通に使えますよね?

433 :名無し@沢村:03/08/22 10:06
>>432
おう

434 :デフォルトの名無しさん:03/08/31 22:07
ATL/WTLによるって.NET SDK付属のVCだけでできる?

435 :デフォルトの名無しさん:03/08/31 22:11
>>434
ムリピョーン

436 :デフォルトの名無しさん:03/08/31 22:12
による開発」だった。できないのかぁ

437 :デフォルトの名無しさん:03/08/31 22:42
SDKにゃATLが付いてないもんね

438 :デフォルトの名無しさん:03/09/01 05:26
.NET SDKでWin32開発はできないでにょ。

439 :デフォルトの名無しさん:03/09/03 07:00
VCコンパイラだけはついてるのよ

440 :デフォルトの名無しさん:03/09/04 02:21
.NET SDK+Platform SDKでフリーWin32プログラミングできるよ。
WTLは使ったことないから知らないけど。

441 :デフォルトの名無しさん:03/09/04 03:11
>.NET SDK+Platform SDKでフリーWin32プログラミングできるよ。
PlatformSDKだけでいいし、そんなことみんな知ってるし、
>WTLは使ったことないから知らないけど。
じゃあレスするなと。

442 :デフォルトの名無しさん:03/09/04 08:25
> PlatformSDKだけでいいし、そんなことみんな知ってるし、
ハァ?PSDKにcl.exe含まれてないだろ。

443 :デフォルトの名無しさん:03/09/05 20:53
ATLやWTLみたいな感じで自作のテンプレートライブラリを作っていて、
AtlLoadStringみたいなユーティリティ的な普通の関数もいくつか混ぜたいが、
あいにくそいつはinlineにはできないとする。
そういう場合どうします?

ヘッダの方は宣言だけにして大人しく.cppに実装するってのもイマイチだし。
ダミークラス作ったりするしかないのかなぁ。

何かいい案はないでしょうか。

444 :デフォルトの名無しさん:03/09/05 22:49
sageてるし……


445 :デフォルトの名無しさん:03/09/05 22:55
自作ライブラリなら根本的にATL/WTLの質問じゃないんじゃ・・・
C++とかテンプレートスレでは?

446 :443:03/09/06 00:21
>>445
スマソ、自分でも書いてからそんな気がしてた。
自分でもうちょい考えてから、改めて向こうのスレで聞いてみます。

447 :デフォルトの名無しさん:03/09/09 09:21
UI−Proxy/Stub−CTLのように
カスタムのProxy/Stubを組み込みたいんだけど、
通常にCoCreateInstanceすると
UI−CTLのように直接呼び出されちゃうんです。
そうしたら、Proxy/Stubを通るようになるんでしょうか?


448 :デフォルトの名無しさん:03/09/10 19:41
age

449 :デフォルトの名無しさん:03/09/11 20:36
VC買わなくてもつかえるATL/WTLのオープンソース版みたいなのってない?

450 :デフォルトの名無しさん:03/09/11 21:11
WTLってVC必須なの?

451 :デフォルトの名無しさん:03/09/11 21:12
ちがうの?

452 :450:03/09/11 22:05
いやごめん、全然知らないけど

でもただのテンプレートだし、Win32APIしか使ってないし…
そりゃ、さすがにウィザードは使えないだろうけどね

453 :デフォルトの名無しさん:03/09/12 09:23
>>450
そりゃあATLの拡張なんだから

454 :デフォルトの名無しさん:03/09/12 09:32
.NET2003でどうもうまく動かないな。WTL。
ウィザードはインストールできたし、コードも吐くんだけど、コンパイルが通らん。
atl***.hがインクルードできませんと出る。

455 :デフォルトの名無しさん:03/09/12 11:14
>>454
インクルードファイルのパス通した?

456 :デフォルトの名無しさん:03/09/12 12:14
あれ、パスは手動で通す必要があったの?
VC6の時はやらなかったような記憶があったスマソ

457 :デフォルトの名無しさん:03/09/12 12:57
なんたら.jsを実行してないとか。

458 :デフォルトの名無しさん:03/09/12 12:58
setup.jsだった。そのまんまだった。

459 :454&456:03/09/12 13:00
パス通したらコンパイル出来ました。
恥ずかしい。逝ってきます。

460 :デフォルトの名無しさん:03/09/13 16:46
T2OLEとか使おうとすると
error C2065: '_convert' : 定義されていない識別子です。
など他にもエラーが出るけどどういうこと。


461 :デフォルトの名無しさん:03/09/13 17:11
setup.jsの一部を書き換えると.NET2003でもウィザードとか使えるよ

462 :デフォルトの名無しさん:03/09/15 00:00
WTL作者本人による.NET2003のウィザード対応方法
ttp://groups.yahoo.com/group/wtl/message/5373

463 :デフォルトの名無しさん:03/09/15 02:57
WTLの解説サイトって英文でもいいからどこかない?

464 :デフォルトの名無しさん:03/09/15 20:52
こことか
ttp://www.codeproject.com/wtl/

465 :デフォルトの名無しさん:03/09/15 20:53
そこは定番だね。他は?

466 :デフォルトの名無しさん:03/09/15 21:01
自分でぐぐれ知障

467 :デフォルトの名無しさん:03/09/15 21:24
setup.jsの書き換えは>>258で既出だった。

468 :デフォルトの名無しさん:03/09/16 20:48
むしろ
自分でつくれ素敵マン

469 :デフォルトの名無しさん:03/09/18 11:01
>>468
自分で作ったら同じようなsetup.jsになった…。

470 :デフォルトの名無しさん:03/09/23 10:36
age

471 :デフォルトの名無しさん:03/09/23 17:43
MSDNライブラリの「ATL 3.0ウィンドウ クラス: 入門」の7.1版てある?
OnlineMSDNで検索したんだけど無さげ。


472 :デフォルトの名無しさん:03/09/23 20:06
Win2000, VC++6.0 で_ATL_MIN_CRTを使ってウィンドウを表示するだけの
プログラムを作っても、リリースビルドで36kbありました。
http://www.microsoft.com/japan/msdn/library/ja/vccore/html/vclrfBenefitsTradeoffsOfUsing_ATL_MIN_CRT.asp
を見るとCRTを使わないので小さくなるとあるのですが、
もしかしてVC++6.0では小さくならないんでしょうか?


473 :デフォルトの名無しさん:03/09/23 20:32
nowin98とかは当然やってるんだろうな?

474 :デフォルトの名無しさん:03/09/23 20:55
>>473
>>472の答えにはなってないかと。

475 :デフォルトの名無しさん:03/09/23 21:09
>>472
比較対象の (_ATL_MIN_CRT 使ってない) プログラムに CRT をスタティックリンク
してないとか。MSVCRT.DLL 使ってたらサイズ比較は意味無いぞ。

476 :デフォルトの名無しさん:03/09/23 21:19
>>475
シングルスレッド用ライブラリをスタティックリンクしています。
Win32Appプロジェクトなのですが、_ATL_MIN_CRT 以外にすることがあるのでしょうか。

477 :デフォルトの名無しさん:03/09/24 22:59
VC6(SP5)、ATL COM AppWizard から作成したDLLで、MFCを利用にチェックを入れて作成しています。
作成途上なんどかビルドを繰り返していると、Warning LNK4006 やら error LNK2005がでるようになって
しまいました。 どちらも、"DllMain@12 が重複〜"という趣旨の警告を出しているのですが、その当たり
をさわってもいなければ、リンクの設定も弄っていない状態です。
 同じような症状にあわれた方、対処法ご存じの方いらっしゃいませんでしょうか?

478 :デフォルトの名無しさん:03/09/27 01:05
WTL7.0のCFolderDialogのSetSelection()とか使う時は、CFolderDialogImplの派生で
OnInitializedをオーバーライドしないといけないんだよね?

それと、もしMFCだと基底クラスでOnInitializedが仮想関数で、派生クラスで
それをオーバーライドすると思うんだけど、そうしないでテンプレートでやる利点て何?

479 : :03/09/27 03:44
>>478
後者だけ。

仮想関数方式だと、基底クラスで定義された非 virtual な関数は派生クラス
側で変更できないので、柔軟性を持たせるにはなんでもかんでも virtual に
するしかなくって、vtbl が肥大化するし効率あまり良くないから。

あと仮想基底クラスを使わなくても良いのでなんとなく安心っていうのもある。


480 :デフォルトの名無しさん:03/09/27 15:12
>>479
なるほど、たしかにWTLの売りを考えるとその通りだ。

481 :デフォルトの名無しさん:03/10/05 06:07
ATLインターナルにCWindow(CWindowImplではなく)でメインウィンドウを作る例が
あったと思うんだけど、あれってどういうコードだっけ?
MSDNには既存のHWNDをアタッチする方法はあるんだけど、Createで作る例は
見つからないです。

482 :デフォルトの名無しさん:03/10/05 12:33
WTLで作ったウィンドウを、ダブルクリックを受付るよう指定したいのですが、
ウィンドウクラスのスタイルを変えるにはどうすれば良いのでしょうか?

こんな風にやってもうまくいきません…

CMainFrame main_frame;
main_frame.CreateEx();

CFrameWndClassInfo& ci = main_frame.GetWndClassInfo();
ci.m_wc.style |= CS_DBLCLKS;
RegisterClassEx( &ci.m_wc );

483 :482:03/10/05 12:45
RegisterClassExではなく、SetClassLongを使ったらいけました、お騒がせしました。

484 :デフォルトの名無しさん:03/10/06 14:28
>>483
Win32API の基礎から勉強しなおせ。


485 :デフォルトの名無しさん:03/10/07 02:07
>>484
http://pc2.2ch.net/test/read.cgi/tech/1064204112/

486 :デフォルトの名無しさん:03/10/10 20:12
質問です

ATL 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を使うことはできないのでしょうか?

お願いします。

487 :デフォルトの名無しさん:03/10/10 20:28
AppWizardでMFCをサポートするにチェックを入れる。

488 :頭悪い ◆gGTEz68pSM :03/10/10 20:48
EXEの場合はMFCは使えないのでは。CStringTなら使えるかな?

489 :486:03/10/10 21:35
解答ありがとうございます。
CStringTですか。聞いたことすらありませんでした。うわー
個人的に興味があるので調べてみます。

490 :デフォルトの名無しさん:03/10/10 23:53
VC++.NET2003(VC++7.1)で、
WTLコントロールクラスに対してインテリセンス(メンバ自動表示)が効かないんですが、
どうすれば効くように出来ますか?

491 :デフォルトの名無しさん:03/10/11 13:57
別にCStringだけなら、WTLのatlmisc.h使えばいいような気もするが。

492 :デフォルトの名無しさん:03/10/11 15:25
それさえ使わなくて済むって話じゃ

493 :デフォルトの名無しさん:03/10/11 18:37
今は、ATLもCStringをサポートしているのだ。

494 :デフォルトの名無しさん:03/10/11 18:44
WTL7.0ゲットしてきたんだけどATL7.1と相性かなり悪くない?
ヘッダ名かぶってるし互換性ないし。

495 :デフォルトの名無しさん:03/10/11 22:38
マジ?ATL7.1が楽しみで2003買おうと思ってたのに・・・

496 :デフォルトの名無しさん:03/10/11 22:42
>>494
俺は工夫して使ってるけどな。
しかも属性付きで。

497 :デフォルトの名無しさん:03/10/11 23:24
>>494
別にヘッダ名はかぶってないし、
それぞれ ATL/WTL namespace に入っているからシンボルが衝突することもない。
同機能のクラスが2つあるのが嫌なら、
#define _WTL_NO_CSTRING, _WTL_NO_WTYPES, _WTL_NO_UNION_CLASSES
のあたりを定義すればATL版を使ってくれる。
まったく問題なく使えるよ。

498 :デフォルトの名無しさん:03/10/12 00:10
俺は WTL のヘッダをインクルードする前に

namespace WTL
{
static ATL::CAtlBaseModule& _Module = _AtlBaseModule;
}

をはさんでる。
もっといい方法あるかしら?

499 :デフォルトの名無しさん:03/10/12 12:34
>>497
逆に”_ATL_NO_CSTRING”みたいのは無いんですかね。
インテリセンスの表示メンバがATLのCStringのものになっていて、
非常に鬱陶しいのですが・・・


500 :デフォルトの名無しさん:03/10/12 15:56
>>499
ATL::CString も WTL::CString もほぼ MFC::CString 互換なんだから、ATL版でいいじゃん?
VC6でもコンパイルしたいとかの理由があるの?
>>490 にも重なるが、WTLヘッダを自分のプロジェクト内に入れれば、
インテリセンスが効くようになるかも。

501 :499:03/10/12 21:55
>>500
WTLのヘッダはプロジェクトに追加してるんですが、
CStringだけはATLの内容が表示される・・・
Tokenizeとか各関数の定義が微妙に違って、使いずらいんですよねぇ。
ちなみに環境はVC2003です。


502 :デフォルトの名無しさん:03/10/12 22:02
WTLってなんで標準でつかなくなったの?
MFCみたいなヘビーなのはいらないけどCMenu/CButton等のうす〜いラッパーはすげー使いやすいのに。

503 :デフォルトの名無しさん:03/10/12 22:50
結局WTLってMFCと同じ様な制限抱えてるよね

504 :デフォルトの名無しさん:03/10/12 22:57
>>503
例えば?

505 :503:03/10/12 23:27
>>504
Windowsアプリしか作れない

506 :デフォルトの名無しさん:03/10/13 00:05
>>505
おじさんつまんなーい

507 :デフォルトの名無しさん:03/10/13 01:14
良い子のみんな、WTLのWは何かなぁ? ∩ ゚∀゚)

503 「Wunkoで〜〜す!!」

508 :503:03/10/13 10:46
例えばこんなの

815 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 18:18
WTLのフレームはツールバーが上、ステータスバーが下と決め打ちしてるから、それしかない。
独自のフレームクラスを定義するしかないな。

509 :デフォルトの名無しさん:03/10/13 12:14
そりゃWTL/MFCの制限じゃなくてAppWizardの制限だろ

510 :503:03/10/13 12:18
これまで書かんと分からないのか…
マンドクセ

809 名前:808[sage] 投稿日:03/03/10 23:49
出来たと思ったのですが、
下部に作成する事は出来たのですが、
ステータスバー属性にCCS_TOPを追加して上部に作成しようとすると
リストビューのカラムの名前を表示する部分と重なってしまいます。
上部に追加するのは無理でしょうか…

CreateSimpleStatusBar("", WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN |
 WS_CLIPSIBLINGS | CCS_TOP);

511 :デフォルトの名無しさん:03/10/13 12:21
いやだからそのぶんViewをずらせばいいだろ。
単にViewをAppWizardのままにしてるからだろ。

512 :デフォルトの名無しさん:03/10/13 12:22
>>510
そんなもんWTLに限らずSDKでやったって工夫しなきゃ重なるって。

513 :デフォルトの名無しさん:03/10/13 15:49
>>510
CFrameWindowImplBase::UpdateBarsPosition() を修正したら?
ライブラリ自体の修正が簡単なのも、WTLのメリットと言えなくもないんだから。
上部ステータスバーなんて誰も使わないけどな。

514 :503:03/10/13 16:51
いちいちライブラリのソースなんか読みたくないんだよ!!

515 :デフォルトの名無しさん:03/10/13 16:58
>>513
2画面ファイラとかがよく使ってるよ

516 :デフォルトの名無しさん:03/10/13 17:31
WTLのソースを読みたくないってのは致命的だろう。
っていうか騙りかもしれないしどってことない問題だから以後放置で。

517 :デフォルトの名無しさん:03/10/13 17:47
CDialogResizeとか、さりげなく便利だよな

518 :デフォルトの名無しさん:03/10/14 09:55
MSDN の ATLCon サンプルに入っている atlcontrols.h には
WTL の atlctrls.h 相当のコントロールラッパが詰まっていて、
何らかの理由で WTL を使いたくないときにはとても便利。


519 :デフォルトの名無しさん:03/10/14 21:24
何らかの理由でATLを使いたくないときはどうすればよいですか

520 :デフォルトの名無しさん:03/10/15 00:44
>>519
氏ね

521 :デフォルトの名無しさん:03/10/18 01:36
初歩的なことなのかも知れませんが、ATLのメソッドで、「関数の多重定義」みたいなこと
やるにはどのようにしたらいいんでしょう?

522 :デフォルトの名無しさん:03/10/18 12:47
>>521
IDLではメソッドのオーバーロードは禁止されてるから無理じゃないか?

523 :デフォルトの名無しさん:03/10/18 21:23
実際に使われてんのかねぇ、WTLって。

524 :デフォルトの名無しさん:03/10/18 21:24
漏れは使ってるよ。でもイマイチだね。

525 :デフォルトの名無しさん:03/10/20 09:24
テンプレートベースでMixin使いまくりだから、
コード補完がうまく効かないのが辛いよね。

526 :デフォルトの名無しさん:03/10/21 12:31
しばらく見ないうちにWTLの話が多くなったな

527 :デフォルトの名無しさん:03/10/24 11:06
もまえらがWTLを使う時、ListViewやTreeView等のコントロールは必ず継承して使い、
継承したコントロールにそのコントロールがする処理を書きますか?
それとも、継承する必要が無いコントロールはそのまま使って、フレームクラスでNotifyMessage拾って処理を書きますか?

528 :デフォルトの名無しさん:03/10/24 11:21
他のアプリでも再利用するようなコントロール作るなら前者だけどそうでなければ後者

529 :デフォルトの名無しさん:03/10/29 18:26
>>96, >>112

すっごい遅レスなんだが俺もいま同じとこではまってる。
AtlAxGetControl が FAILED 返すので何も起き様がない。
VisualStudio6のころつくったプロジェクトを、
VS.NET2003でコンパイルし直しただけなのになぁ。
もちろんVS6時代にビルドしたexeは期待通り実行されるのに。
なんでですか?

530 :デフォルトの名無しさん:03/10/30 01:10
>>529

VS.NET2003、WinXP(SP1) の環境で動きましたよ。
CreateWindow("AtlAxWin", ...) を
CreateWindow("AtlAxWin71", ...) にしただけですが。

アサートが何回か出ますが、それを無視して実行し続けてみたら、ブラウザが表示されましたよ。


531 :デフォルトの名無しさん:03/10/30 01:22
>>529
ProgID じゃなくて URL 指定して、CreateControl(_T("about:blank")) じゃダメ?


532 :94:03/10/30 15:03
CreateWindow(CAxWindow::GetWndClassName(), ...)
が正解ではないかと思ふ


533 :デフォルトの名無しさん:03/11/01 21:13
WTLの日本語資料って少ないねぇ。

534 :デフォルトの名無しさん:03/11/01 21:20
>>533
MFCみたいにフレームワークを提供しているわけではないから、
Win32の知識だけで十分使いこなせないか?

535 :デフォルトの名無しさん:03/11/01 23:04
いちいち事あるごとにソース読まなきゃいけないのが面倒。

536 :デフォルトの名無しさん:03/11/01 23:44
リファレンスは欲しいよね

537 :デフォルトの名無しさん:03/11/02 12:25
WTLの質問です。
親フレームで、NOTIFY_HANDLERを使って子コントロールの通知メッセージを拾いたいのですが、
子コントロールのIDはどうやったら分かるのでしょうか?
現在はIDを設定する方法が分からないので、
NOTIFY_CODE_HANDLERを使ってif文でコントロールごとに処理を分けているのですが、
これだとすぐにコードが汚くなってしまいます。

538 :デフォルトの名無しさん:03/11/02 16:48
>>537
CWindow.Createの引数にID渡せるけどこれは違うのか?

539 :デフォルトの名無しさん:03/11/02 16:49
WTLって実は全然使えないよね。
WTL使ってる人って、意地で使ってるだけとちゃう?

540 :デフォルトの名無しさん:03/11/02 17:01
そんなことより、日本語リファレンスを作った人がいないってのが不思議だよ〜ん。

どっか一部だけ…としたらどの辺が需要有るかな。
コモンコントロール周りはいらないよね。

541 :デフォルトの名無しさん:03/11/02 18:01
UPDATE_UI_MAPとかUPDATE_ELEMENTとかその辺

542 :デフォルトの名無しさん:03/11/02 18:06
いくらWTLがMFCより小さくなっても、
STLとかBoostとかiostreamとか使うとすぐ肥大化するから意味無いね。

543 :デフォルトの名無しさん:03/11/03 11:14
STL とか Boost 使わなければよいかと…
ATL で大抵事足りない?

544 :デフォルトの名無しさん:03/11/03 12:35
EXEのサイズを小さくする目的でWTLを使っているわけじゃないな。
MFCだとフレームワークに従わないといけないけど、
WTLなら独立性が高いので、ネジ・クギとして使えるのが嬉しい。

そもそもEXEサイズにこだわるのって、ほとんど自己満足だし。

545 :デフォルトの名無しさん:03/11/04 11:36
今んとこまだまだVS6とCOMで業務をこなしつつVS.NETの勉強って感じだと思うけど、
COMの開発はATLが主流なのかな。

546 :デフォルトの名無しさん:03/11/04 12:05
オレなんてCOMがさっぱり分からずC#に移ったら、なぜだか理解できなかった
COMの本が読めるようになってきたw
迷う迷うw

547 :デフォルトの名無しさん:03/11/04 13:59
書き方キモイ文だなぁ

548 :デフォルトの名無しさん:03/11/04 16:19
>>544
自分の枠組みでプログラムするのも自己満足だろ
そもそも、プログラム自体がじ(ry

549 :デフォルトの名無しさん:03/11/04 21:54
もまいら教えてくさいm(__)m
MFCひととおりやったのですが、ATLを
やってみたいのですが、みなさんどんな書籍、サイト等が
お勧めでつか?

550 :デフォルトの名無しさん:03/11/04 22:06
Inside Atl
Inside COM


551 :デフォルトの名無しさん:03/11/05 03:12
>>549
マジレスだけど、Visual Studio についてくる MSのドキュメントが一番お勧め。
ATL, チュートリアルからはじめるのが吉。

552 :デフォルトの名無しさん:03/11/05 08:49
このスレゆっくりと進んでて好きだなー。

しばらくATLから遠ざかったけど、またやろうかな。
遠ざかっていた間は、VBでCOM。VBだとかなり制限があるけど
COMの隠蔽度が高いって言うのか「COM作ってるぞ!」感が全然
無くってこれはこれで良かった。

#ただの独り言でした。

553 :デフォルトの名無しさん:03/11/05 19:34
ATLはいいんだけど、CAutoPtrは糞じゃねぇ?

CAutoPtr< T > p1( new T() );
CAutoPtr< T > p2( p1 ); // アボーン

CAutoPtr< T > p1( new T() );
CAutoPtr< T > p2 = p1; // 正解

554 :デフォルトの名無しさん:03/11/05 20:04
>>553
VC7.1のatlbase.hでは、ちゃんと所有権の譲渡が行われているが?
CAutoPtr( CAutoPtr< T >& p ) throw()
{
 m_p = p.Detach(); // Transfer ownership
}
そもそも、その2つってまったく同じ意味だぞ?

555 :デフォルトの名無しさん:03/11/06 15:18
>>553
漏れが今やってる仕事では、そこだけ boost::shared_ptr 使ってる。。
CComPtr 同等に使えて便利。

556 :デフォルトの名無しさん:03/11/06 16:52
Inside系の本は難しいのでもっと簡単なのを探してます。
ちなみに当方、VBでのコンポーネント作成はかなり理解してる方だと思います。


557 :デフォルトの名無しさん:03/11/06 17:25
>>530
ありがとう。同じようなことで悩んでたんだけどヒントになったよ。お礼に

ttp://userpages.umbc.edu/~bcorfm1/wtl.html

でどう?

558 :549:03/11/07 19:42
>>550-551
遅くなってすみませんm(__)m
どうもありがとう。。。

559 :デフォルトの名無しさん:03/11/13 16:06
WTLだけど、フラットツールバーを作るには

CreateSimpleToolBar(0, ATL_SIMPLE_TOOLBAR_STYLE | TBSTYLE_FLAT);

ではなく、

CreateSimpleToolBar();
CWindow bar(m_hWndToolBar);
bar.ModifyStyle(0, TBSTYLE_FLAT);

とかしないとダメだよね?
http://www.codeproject.com/wtl/wtl4mfc3.asp
では前者の方法が紹介されてるけど、前者でもできる方法がある?

560 :デフォルトの名無しさん:03/11/16 18:58
誰もいないのか・・・

561 :デフォルトの名無しさん:03/11/16 22:15
見てるけど、>>559の話題に興味がないだけ

562 :デフォルトの名無しさん:03/11/20 19:56
WTLのリファレンスにはMFCのが使えるな

563 :デフォルトの名無しさん:03/11/20 20:29
>>562
今更

564 :デフォルトの名無しさん:03/11/20 21:28
ATL/WTLプログラミング関連の本といったらATLインターナルくらいしかない?

565 :デフォルトの名無しさん:03/11/20 22:24
COMインターナル

566 :デフォルトの名無しさん:03/11/23 18:28
WTLのコントロールクラスってなんでテンプレートになってるの?
ソースではTBaseから派生ってなってるけど
CButtonTの中でTBaseは特に使って無いみたいだし。
直接CWindowから派生させればいいと思うんだけど、そうしない理由は?

567 :デフォルトの名無しさん:03/11/23 19:17
>>566
柔軟な設計が出来るから。
class CMyWindow : public CWindow;
typedef CButtonT<CMyWindow> CMyButton;
既存のクラス階層の「途中に」派生クラスを挿入できるのがメリットだと思うのだが。

568 :デフォルトの名無しさん:03/11/23 21:26
WinFXがでるのにATLなんて物をまだ使ってるのかw
レベル低ッ!!

569 :デフォルトの名無しさん:03/11/23 22:22
やっぱり結局使ってるのは漏れだけかなあと思っていたら、
久しぶりに煽りが出るほど賑わっていて嬉しいですね。

570 :デフォルトの名無しさん:03/11/24 00:12
>>568
へー、もうWinFXを使って開発してるんだ。w

参考までに、どんなソフトを作ってるのかご教授願えますか?

571 :デフォルトの名無しさん:03/11/24 02:06
そんなもんに釣られんな。

572 :デフォルトの名無しさん:03/11/27 05:31
WTLで質問です。
OnPaintをMESSAGE_HANDLERしたんですが、HWNDの取得ってどうやってやりますか?
CPaintDCにNULLを上げると狂気に走ってくれたので、
とりあえず、GetActiveWindowを使ってるのですが、
もっとベターな方法はありますか?

573 :デフォルトの名無しさん:03/11/27 05:33
よく見たらここ2日は書き込みがない・・・。
浮上します。

574 :デフォルトの名無しさん:03/11/27 05:41
*thisじゃだめなん?

575 :デフォルトの名無しさん:03/11/27 06:12
m_hWndでいいと思うが

576 :デフォルトの名無しさん:03/11/27 06:14
AppWizardでも
CPaintDC dc(m_hWnd);
と出力してるし。

577 :デフォルトの名無しさん:03/11/27 06:24
>>574
ソース追っかけてみてもCMainFrameからの取得はないようです。
でも、追っかけ足りないだけかも・・・。

>>575-576
あ”−−−!!そんなベタな・・・。
コード補完に出てこなかったので探し回ったのに・・・。
でもスッキリしました。
本当にありがとう。

578 :デフォルトの名無しさん:03/11/27 06:29
ベタな方法なだけにベター・・・

579 :デフォルトの名無しさん:03/11/27 06:43
>578
うぐ!なかなかやるな・・・。

>574
試してみたらできましたね・・・。
追っかけたりなかったようです。
THX。

580 :デフォルトの名無しさん:03/11/27 13:21
>>572
ProcessWindowMessage() の時点では hwnd も拾えるので、
MESSAGE_HANDLER 改変したマクロを定義してもいい。

581 :デフォルトの名無しさん:03/11/28 02:13
>>580
そういう方法もありますね。
標準のものを改変するのはちょっとイレギュラーな感じがするけど。
非常手段として参考にします。
Thx!

582 :デフォルトの名無しさん:03/11/28 05:57
>>581
誤解させちゃったかも。
MESSAGE_HANDLER() に似た、別の名前のマクロを自分で定義して〜ってつもりだった。

例えば、自分では
#define MESSAGE_LAMBDA(msg, lambda) \
 if (uMsg == msg)\
 {\
  lResult = 0;\
  lambda;\
  return TRUE;\
 }
なんてのを定義して、引数が異なる関数を呼んだり、短い処理をするのに使ったりしてる。
 MESSAGE_LAMBDA(ID_FILE_NEW, { OnPaint(hWnd); } )
って感じで。

583 :デフォルトの名無しさん:03/11/28 09:23
>>581
MESSAGE_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 );

でいいんじゃないの?



584 :デフォルトの名無しさん:03/11/28 15:37
>>583
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);


585 :デフォルトの名無しさん:03/11/28 19:45
>>583
もう解決してるのにカコワルイ・・・・

586 :デフォルトの名無しさん:03/11/29 04:54
WTL7.0のAppWizardではOnIdle()でFALSEを返してるけど、この値ってチェックしてないよね?
なんか意味あんの?

587 :デフォルトの名無しさん:03/11/29 23:13
>>586
たぶんバグ、というか真面目に実装していないのか。

WTLのエラッタをまとめてくれてるサイトってあったっけ?

588 :デフォルトの名無しさん:03/11/29 23:47
形式上、MFCを真似たって感じなのかなぁ

589 :デフォルトの名無しさん:03/12/04 10:50
今後バージョンアップはあるの?


590 :デフォルトの名無しさん:03/12/04 12:09
地味にありそう。


591 :デフォルトの名無しさん:03/12/04 15:32
WinFXだっけ? あっち対応の話ってどうなってるの?

592 :デフォルトの名無しさん:03/12/04 16:05
>>591
とりあえずSTLはヴァージョンアップして対応しているらしい。


593 :デフォルトの名無しさん:03/12/05 19:47
ATLでDLL作ってVBから呼び出してウィンドウを表示させようと思ってるんだけど、
そのウィンドウにツールバーを付けたいんだけどどうやってもできないんす。
CWindowじゃ無理なの??誰かサンプル教えてーください。

594 :デフォルトの名無しさん:03/12/06 12:17
WTL使えば?


595 :593:03/12/07 18:13
WTLでDLLって作れるんですか??


596 :デフォルトの名無しさん:03/12/08 11:27
>>595
意味不明


597 :デフォルトの名無しさん:03/12/08 18:05
>>593
MSDN の ATLCon つーサンプルの中に、各種コントロールを定義した
"ATLControls.h" があるから、それを使ってなんとかしろ。

598 :デフォルトの名無しさん:03/12/09 19:06
ATL7で、ATL, Cランタイム共に静的にリンクさせようとすると、エラーになるんだけど
なぜだろう。

599 :デフォルトの名無しさん:03/12/09 21:58
エラーのときはエラー内容を書け。

600 :デフォルトの名無しさん:03/12/09 22:03
LIBCMT.lib(crt0dat.obj) : error LNK2005: __osplatform は既に LIBCMT.lib(crt0dat.obj) で定義されています。
LIBCMT.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です。

これ。

601 :デフォルトの名無しさん:03/12/09 22:30
_ATL_MIN_CRTが定義されてる

602 :デフォルトの名無しさん:03/12/09 22:54
いや、定義してないですよ。
ちなみに、DEBUGだとリンクできます。Releaseでは不可。

603 :デフォルトの名無しさん:03/12/09 23:18
リリースにも?普通リリースだけに_ATL_MIN_CRTが定義されてるけど。

604 :デフォルトの名無しさん:03/12/09 23:27
>>602
VC++ のバージョンは?
.net 2003 だったら、「ATL で CRT をできるだけ使用しない」を「いいえ」にする。
こいつが「はい」になっていると、_ATL_MIN_CRT が定義される。

605 :デフォルトの名無しさん:03/12/09 23:46
>>603, 604
.NET2003です。
そういうことですか。Cランタイムを配布したくなかったのですが、仕様なら仕方ないですね。
ありがとうございました。

606 :デフォルトの名無しさん:03/12/09 23:49
>>605
Cランタイムを使わない方法を検討する。

607 :デフォルトの名無しさん:03/12/09 23:52
>>606
自分のコードでは使ってないんですけど、NT4.0等、MSCVRT71が
入ってない環境でregsvc32すると、ランタイムが無いって警告が
でませんか?

608 :デフォルトの名無しさん:03/12/10 00:02
ん?静的リンクしたかったら>>604で「いいえ」にすればいいんでないの?


609 :デフォルトの名無しさん:03/12/10 22:53
WTL 7.1 あげ
http://www.microsoft.com/downloads/details.aspx?FamilyId=1BE1EB52-AA96-4685-99A5-4256737781C5&displaylang=en

610 :デフォルトの名無しさん:03/12/10 23:08
うぉおお!2003対応キタ━━━(゚∀゚)━━━ !!!

611 :デフォルトの名無しさん:03/12/10 23:24
CEサポートとFixが主だな。新しいクラスと言えばCCustomWaitCursorくらいか・・・

612 :デフォルトの名無しさん:03/12/11 10:18
>>609
かんどーした!!!!!!!!!


613 :デフォルトの名無しさん:03/12/11 10:56
ウフォッ

614 :デフォルトの名無しさん:03/12/11 13:25
喜多!サポート続けてくれるんだな。ありがたい。

615 :デフォルトの名無しさん:03/12/11 13:33
>>614
ああ、更新内容よりはむしろバージョンアップしたという事実がありがたい。

616 :デフォルトの名無しさん:03/12/11 16:56
WTLのCStringで
Format(_T("%I64d"), value);
とすると I64d となってしまうんだけどなぜ?WTL::CStringはI64dって表記サポートしてるよね??

617 :デフォルトの名無しさん:03/12/11 17:23
と思ったらXP以降か・・・
http://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

618 :デフォルトの名無しさん:03/12/11 18:43
Raptのビルドがとおんねえ〜
あと新機能の追加が少ないのがかなしひ。
せめてCStringはATLと完全互換にならんものか・・・


619 :デフォルトの名無しさん:03/12/12 00:20
WTL_NO_STRING を define すれば ATL の CString が使えるんだけど…

620 :デフォルトの名無しさん:03/12/12 00:23
たしかWTL7.1のReadmeのNotesにも書いてるよね

621 :デフォルトの名無しさん:03/12/12 10:07
>>619-620
そうではないだろう


622 :デフォルトの名無しさん:03/12/13 11:40
WTLのメッセージループ(CMessageLoop::Run())ってGetMessageが-1の場合にも
continueでループを続けてるんだけど、breakで抜けるべきじゃないの?

623 :デフォルトの名無しさん:03/12/13 11:56
第二引数がNULLのときはGetMessageは-1を返さない

624 :デフォルトの名無しさん:03/12/13 12:39
いや、返した場合の話なんだけど・・・

625 :デフォルトの名無しさん:03/12/13 12:46
PlatformSDKより。ループは抜けなくてもいいのでは?ディスパッチするべきじゃないだけであって。

BOOL bRet;

while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}


626 :デフォルトの名無しさん:03/12/13 13:44
>>625
-1 が返ってくる状況になったら、なにも考えずにもう一度 GetMessage() すると
再び -1 が返ってきて、無限ループにならない?

627 :デフォルトの名無しさん:03/12/13 15:52
GetMessage() が -1 を返すような状況では、
アプリケーションもOSもまともな動作をしているとは思えない。
それほど気にしなくていいんじゃないかと。

628 :デフォルトの名無しさん:03/12/13 16:20
>>626
ならない?と聞かれてもSDKの解説もWTLもループさせてるし・・・

629 :デフォルトの名無しさん:03/12/13 17:45
>>628
SDK のサンプルは、コメントに「エラー処理しろ」と書いてあるやん。エラー処理といっても、
もはや出来ることは限られてると思うが……。

630 :デフォルトの名無しさん:03/12/13 19:25
>>629
そのエラー処理が、結果的にbreakするのかcontinueするのかって議論。

631 :デフォルトの名無しさん:03/12/13 21:27
throw

632 :デフォルトの名無しさん:03/12/13 21:36
書き方が悪かったか・・・
GetMessageの返りが-1の場合、メッセージループを抜けるのか、継続するのか。

633 :デフォルトの名無しさん:03/12/13 23:37
抜ける方がいいに一票。
理由は>>627が書いているように、
まともにOSが動作していない状況で、
動作を継続する方が危険だから。


634 :デフォルトの名無しさん:03/12/14 00:10
ベストを尽くせばいいじゃん

635 :デフォルトの名無しさん:03/12/14 04:14
>>633
そうすると最初の質問のWTLがcontinueしてるのが気になるんだよな

636 :デフォルトの名無しさん:03/12/14 21:34
ttp://homepage1.nifty.com/Roy_/Software/WTL/WTL_Lecture03.htm
WTL7.1の日本語記事はこれしか見つからん。
他にない?

>>635
自分で修正すれば?


637 :デフォルトの名無しさん:03/12/14 21:40
>>636
いや、その前にバグなのかが疑問。

638 :デフォルトの名無しさん:03/12/14 22:01
>>636
・・・藻前のバグの定義って何だよ・・・


639 :デフォルトの名無しさん:03/12/14 22:01
>>637だった

640 :デフォルトの名無しさん:03/12/15 05:40
>>638は修正してるのか?

641 :デフォルトの名無しさん:03/12/15 05:45
こんなところで何を言っても結論なんか出るわけ無いんだから
msにメールでも出したら?

642 :デフォルトの名無しさん:03/12/15 22:08
だからWTLはノーサポートなんだって。
自分が修正すべきだと思えば、修正すれ!


643 :642:03/12/15 22:10
ちなみに苦情を送る場合は、
ここttp://www.microsoft.com/japan/feedback/default.asp
の製品フィードバックな。


644 :デフォルトの名無しさん:03/12/16 03:20
>>642
修正すべきかどうかわからんから質問してんだろゴルァ
つーかフィードバックするならYahooGroupの方がいいんじゃね?
俺は英語自信ないけど。

645 :デフォルトの名無しさん:03/12/16 08:41
ここまでの意見で何がわからんのだ?


646 :デフォルトの名無しさん:03/12/16 09:00
「WTLがループを抜けないのはバグなのか何か意図があるのか」がわからないんだろ。
ちなみにSDKのメッセージループはpossibly exitであってmustではない。

647 :デフォルトの名無しさん:03/12/16 10:59
「GetLastError() でエラーコード見るべき」ってのは?


648 :デフォルトの名無しさん:03/12/16 11:01
いや、見た後にどうするかって話だろ

649 :デフォルトの名無しさん:03/12/17 04:48
わかんねーけど、とりあえずExitWindowsExしとく?って感じ。

650 :デフォルトの名無しさん:03/12/17 07:32
>>649
一つのアプリが-1返しただけでそれかよ( ゚Д゚)

651 :デフォルトの名無しさん:03/12/17 07:56
ベストを尽くせ

652 :デフォルトの名無しさん:03/12/17 12:57
http://www.microsoft.com/japan/developer/library/vcmfc/_atl_cwindowimpl.3a3a.create.htm
のCWindowImpl::Createのドキュメントって間違ってるよね?
ATL3.0のソースを確認すると本当は引数の数は7つだし、dwStyleのデフォルトは0だった。
ATL7以降のソースではどう?

653 :デフォルトの名無しさん:03/12/17 13:05
あ、ごめん。↑のドキュメントは古い奴か・・・

654 :デフォルトの名無しさん:03/12/17 22:55
古いドキュメントって残ってたのか・・・
目次のアドレスキボン


655 :デフォルトの名無しさん:03/12/17 23:19
IEのツールバーをATLで作成したい者です。
ツールバーには、相手先のページの
読み込み時間を表示させようと思っています。
そこで一つお伺いしたいことがありまして、カキコさせていただきます。

読み込み開始にBeforeNavigate2、読み込み終了にDocumentCompleteを
使うところまでは分かったのですが、JavaScriptのページで、
DocumentCompleteが返ってこないページがありました。
そのために、フレームページ対策で入れている
BeforeNavigate2が呼ばれた回数からDocumentComplete呼ばれた回数を引く
カウンターが狂ってしまいます。

そこで、本当に最初の読み込み開始か、完全に読み込み終了時に
カウンターのリセットしたいのですが、どこにどのように宣言したらいいのでしょうか。


う〜ん、やっぱりソースを見せないと伝わらないかなぁ・・・。駄文スマソ・・・。

656 :デフォルトの名無しさん:03/12/17 23:34
ちょっと意味がわかりづらいのだが、
DownloadCompleteだとダメなのか?


657 :デフォルトの名無しさん:03/12/18 00:02
>>656
DownloadCompleteも試したけど、やっぱりダメでした・・・。
イベントの呼び出しに、コンストラクタでもあれば苦労しないんだけど・・・。

658 :デフォルトの名無しさん:03/12/18 10:30
★☆web tokachi link☆★

659 :デフォルトの名無しさん:03/12/18 17:02
atlmisc.hなんか見てると文字に_T(' ')マクロを使ったり使ってなかったりするんだけど
文字には_Tマクロいらないよね?

660 :デフォルトの名無しさん:03/12/18 18:55
え?


661 :デフォルトの名無しさん:03/12/18 19:50
ペゾルド本に文字にはLをつけなくて良いとあるから。
L'A' でも 'A' でもUnicode下では同じだって。

662 :デフォルトの名無しさん:03/12/18 20:58
L'AB' だったら?

663 :デフォルトの名無しさん:03/12/18 21:20
>>662
誰がそんな話してんだ

664 :662:03/12/18 22:44
>>663
失礼。 ワイド文字定数は最初の文字しか処理しないらしいな。(VC++7.1)
ただし、マルチバイト文字列のときは異なるようだ。
'あ' == 33440
L'あ' == 12354
だった。

665 :デフォルトの名無しさん:03/12/19 06:59
だから文字列じゃなくて文字の話だって。つーかatlmisc.hの話だって。

666 :デフォルトの名無しさん:03/12/19 07:01
ASCIIなら平気だろ
a(0x61)ならUTF-8やUCS2なら(U+0061)とかにマッピングされるんだから

667 :デフォルトの名無しさん:03/12/19 07:11
>>666
それはペゾルドにも書いてあって、そんなこと話してるんじゃなく、
atlmisc.hの、文字に対する_Tマクロはいらねーよなって話だ。

668 :デフォルトの名無しさん:03/12/19 07:29
要らないんじゃないの?
メッセージループのことといい、
処理系の実装は完璧でないと気がすまないキチガイが多いな

669 :デフォルトの名無しさん:03/12/19 07:58
おいおい完璧に近い方が良いに決まってるだろ。

670 :662:03/12/19 08:25
>>655
文字列の話でもなく、文字の話でもなく、「文字定数」の話だろ?
シングルクォートとダブルクォートを見間違えてないか?

ASCII文字が、SBCS/MBCSとWCSで一致されることは、保証されてたっけ?
ま、どっちにしろ、C++言語の話ですな。
WindowsでVC++を使っている限りは、それほど気にしなくて良いというのには同意。

671 :デフォルトの名無しさん:03/12/19 08:47
(なんで質問する側も回答する側も全員強気の発言なのに_Tが不要だと断言できる奴が一人もいないんだ…)

672 :デフォルトの名無しさん:03/12/19 09:18
>>669
誰かが_Tが不要と断言したとしても、今度は逆に
atlmisc.hだと_Tマクロで定義されてるのには何か意図があるかもしれない
とか言い出すだろ。
んな事、書いた人間にしかわからねーんだよ
最初のレスで食い下がらずに自分で答えを見つければいいだろうが

673 :デフォルトの名無しさん:03/12/19 09:33
>>672
>何か意図があるかもしれない とか言い出すだろ。
「あるかもしれない」だから無いことを証明すればいいんだよ。
それが議論てもんだ。

674 :デフォルトの名無しさん:03/12/19 09:40
>>673
技術的な根拠が皆無だとしても、
たとえば不要なキャスト指定とか、括弧などのように
つけたことには何らかの意図が存在する可能性がある。
それは書いた人間以外に結論を出すことが不可能なじゃないか?

675 :デフォルトの名無しさん:03/12/19 09:45
>>674
それなら技術的根拠が無いことを証明した上で、
「書いた人間が、不要にも関わらずキャスト指定した」という結論だろ。


676 :デフォルトの名無しさん:03/12/19 10:30
おまえら朝っぱらから何やってるんだ?
答えは不要。断言。技術的根拠は>>666

で、技術的ではなくコーディングスタイル的なことを言えば、
_Tを使わないなら使わないで統一して欲しい。

このスレは無能な奴ばかりかよ。

677 :デフォルトの名無しさん:03/12/19 10:46
技術的ではなくコーディングスタイル的なことを言えば、
_T があったり無かったりするのは気持ち悪いから、
文字列にも文字定数にもすべて使ってほしい。

678 :デフォルトの名無しさん:03/12/19 10:55
>>676
void hoge(char);
void hoge(wchar_t);

hoge(_T('A'));

「技術的」ならば、明確に区別すべき。Cではなく、C++なんだから。
「実用上」ならば、>>666 の解釈でかまわない。

679 :デフォルトの名無しさん:03/12/19 11:16
>>678
>void hoge(char);
>void hoge(wchar_t);
>
>hoge(_T('A'));

何が言いたいのかわからん。

680 :デフォルトの名無しさん:03/12/19 11:38
>>679
後者が呼び出されることを期待していたら
L'A'になっていないばかりに前者が呼び出されるということだろう

681 :デフォルトの名無しさん:03/12/19 11:41
>>680
いや、>>676はatlmisc.hに対する回答だろ。
atlmisc.hそんな関数があるのかと。

682 :678:03/12/19 12:05
>>681
確かに、atlmisc.h 限定ならそのとおり。
ただ、「文字定数には _T() や L は必要ない」と
解釈され得る流れだったから、釘を刺したまで。

683 :デフォルトの名無しさん:03/12/19 12:13
それはそうと何で混在したんだろうね。
別の人が書いたのかな。

684 :デフォルトの名無しさん:03/12/24 14:09
('A')ノ

685 :デフォルトの名無しさん:03/12/26 22:31
試してないけど、これよさげ。
WTLでインテリセンスを有効に
ttp://www.codeproject.com/useritems/WTLIntellisense.asp


686 :デフォルトの名無しさん:03/12/26 22:49
>>685
こんなものリンクしたら、
動作がおかしくなるんじゃね?


687 :デフォルトの名無しさん:03/12/27 01:39
本ビルドの時だけ外せばいいだろ

688 :デフォルトの名無しさん:03/12/27 09:05
>>685
なんも変わらんぞ。


689 :デフォルトの名無しさん:03/12/27 13:24
>>688
自分で作らないとダメみたいだね。
それでもCStringは効かない。


690 :sage:04/01/03 00:17
WTL7.0→7.1にしたらビルドが通らなくなった
c:\...\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


691 :680:04/01/03 00:19
sage書く場所間違えた(;´Д`) 鬱だ

692 :690:04/01/03 00:22
691です。680は間違い。

693 :デフォルトの名無しさん:04/01/03 00:48
>>690
GREPすれば一発で見つかるはずだが・・・
atlapp.hでdefineされているので、
このファイルをincludeしてやればいいのでは?


694 :693:04/01/03 00:50
つーか
#include <atlbase.h>
#include <atlapp.h>
この二つはstdafx.hの先頭付近で宣言しておくのが普通だが。


695 :690:04/01/03 02:14
>>693-694
ありがd
includeされてた
リビルドしたら解決した。鬱鬱鬱

696 :デフォルトの名無しさん:04/01/04 20:56
WTL講座 第4回 第5回
ttp://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm


697 :デフォルトの名無しさん:04/01/04 22:58
つーか>>696はそのページの管理人でしょ?前も自分のページ晒してたよな。

698 :デフォルトの名無しさん:04/01/05 01:02
>>696
知ってる事ばっかりだからもうちょっと深い事やって欲しいぜ

699 :デフォルトの名無しさん:04/01/05 01:13
これだな。
>>636
他にない?と言いながら実は自分のページを宣伝。

700 :デフォルトの名無しさん:04/01/05 10:22
なんか、あまりにもありがちな流れだなおい。
しかも自作自演での煽りか・・・


701 :デフォルトの名無しさん:04/01/05 11:48
それを自省ですか。

702 :デフォルトの名無しさん:04/01/09 20:22
すんまそん。基本的なことなのですが教えてくださいm(__)m
WTL(ATL)とMFCの両方が存在する意味って何なのでしょうか?
どんなメリット、デメリットがあるのでしょうか?

703 :デフォルトの名無しさん:04/01/10 01:03
C と C++ の両方が存在する意味って何なのでしょうか?

704 :デフォルトの名無しさん:04/01/10 01:12
くだらないネタここまで

705 :デフォルトの名無しさん:04/01/10 01:31
C++の標準ライブラリが片っ端からtemplate化されたからMSもやりたくなったんだよ。

706 :デフォルトの名無しさん:04/01/10 01:55
MSはサポートしてねーよ<WTL

707 :デフォルトの名無しさん@質問くん:04/01/10 02:26
■質問です。
ATLで、サービスアプリを作りたいんですけど、
ウィザード見ても、あんま分かんないですね。
Run()のGetMessage()あたりが肝だとは思うんですけど・・・
できたら、サービスの簡単なサンプルが欲しいです。
よろしく。

708 :デフォルトの名無しさん:04/01/10 03:03
ATLを作ったチームが遊びで作ってみたら評判が良かっただけだろ。>WTL
オフィシャルのドキュメントも無いし。

そういえばTweakUIなんかもノンサポートだしな。


709 :デフォルトの名無しさん:04/01/10 03:04
>>707
http://program.station.ez-net.jp/special/vc/atl/service_vc6.asp

710 :デフォルトの名無しさん:04/01/10 23:00
もまいら元気ですか!!
教えてくさい!m(__)m

VS2003のVC++でプロジェクトのプロパティに「ATLを使用するかどうか」
を指定するところがあるのですが、従前(VS6.0)はなかったと
思うのですが、これはなんなんですか?



711 :デフォルトの名無しさん:04/01/11 05:26
>>710
ATLを使用するかどうかを指定するものです。

712 :デフォルトの名無しさん:04/01/11 10:05
>>710
ATLの一部の機能がDLL化されたので、
そのDLLをリンクするかしないかの設定・・・だと思う。


713 :デフォルトの名無しさん:04/01/12 00:54
WTLのDONUTを作ったMBさんって何者ですか?
日本人であそこまでやったってスゴイ!!
今はどこで何をしているのでしょうか?

714 :デフォルトの名無しさん:04/01/12 09:06
それを知っておまいはどうするつもりだ・・・


715 :デフォルトの名無しさん:04/01/12 12:37
WTLの話じゃなくて作者の話かよ

716 :デフォルトの名無しさん:04/01/12 18:43
>>1-715

こうやって、話はつれづれに移り行き・・
やがて、話題は加護ちゃんへと移行するのだ。

717 :デフォルトの名無しさん:04/01/12 21:33
加護ちゃんって誰?

718 :デフォルトの名無しさん:04/01/14 08:14
>>717
風船みたいな子

719 :デフォルトの名無しさん:04/01/15 00:45
CFileDialogのGetFolderPathを使うとアサートします。

CFileDialog dlg(TRUE);
if(dlg.DoModal() == IDOK){
  TCHAR szPath[_MAX_PATH];
  dlg.GetFolderPath(szPath, _MAX_PATH); // アサート
}

使い方間違ってますか?

720 :デフォルトの名無しさん:04/01/15 03:59
>>719
せっかくアサーションが発生してるなら、その場所のソースを見ればいいのに

721 :デフォルトの名無しさん:04/01/15 04:03
ATLASSERT(::IsWindow(m_hWnd));だね


722 :デフォルトの名無しさん:04/01/16 02:05
誰かATLとWTLの最新版、Winnyで流してくれない?

723 :デフォルトの名無しさん:04/01/16 02:06
タイーホ

724 :デフォルトの名無しさん:04/01/16 02:15
WTLは流さんでも

725 :デフォルトの名無しさん:04/01/16 02:34
>>723
さっさと流せよ。いつもエロ落としまくってる分際の奴に言われたくねえよ。

726 :デフォルトの名無しさん:04/01/16 02:40
通報しますた

727 :デフォルトの名無しさん:04/01/16 02:58
嘘発見しますた

728 :デフォルトの名無しさん:04/01/16 04:08
↓証拠

729 :デフォルトの名無しさん:04/01/16 04:31
ここでMFCもATLもフリーで提供されてるでしょ
http://www.digitalmars.com/

730 :デフォルトの名無しさん:04/01/16 06:22
されてねーよ。なんでそんなすぐばれる嘘をつくんだ。

731 :デフォルトの名無しさん:04/01/16 08:40
C++BuilderXのフリー版にも、MFC/ATL が付いてきたと思うんだけど。

732 :デフォルトの名無しさん:04/01/16 08:45
つか今時PSDKになんでATLぐらい含めないのかね。

733 :デフォルトの名無しさん:04/01/16 09:55
>>731
ついてこねーよ。

734 :731:04/01/16 10:00
>>733
根拠のない否定はしないように。
C++BuilderXといっしょにインストールされているのを確認した。
ただし、ATLはver.3.0だし、MFCもVC6相当だろう。

735 :デフォルトの名無しさん:04/01/16 10:05
MSはATLというかテンプレートライブラリは
コンパイラのバージョンに強く依存してるから、
無償配布に含めても意味がないっていう考えなのかな。

736 :デフォルトの名無しさん:04/01/16 10:59
>>719は・・・

737 :デフォルトの名無しさん:04/01/16 11:50
>>735
ならPSDKに付ければいいわけで。









PSDKにコンパイラは付いてるよね?


738 :デフォルトの名無しさん:04/01/16 11:56
>>734
マジで!?


739 :デフォルトの名無しさん:04/01/16 12:08
>>737
ia64用しかついてません

740 :デフォルトの名無しさん:04/01/16 13:10
>>736
自己解決しました


















たぶん

741 :デフォルトの名無しさん:04/01/16 20:21
ネタ書く前にせめて質問には答えようや

742 :デフォルトの名無しさん:04/01/16 20:22
MFC/ATLの他にboostやlokiも付属してるらしいね
http://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

743 :デフォルトの名無しさん:04/01/16 20:24
MFCはヘッダしかついてないんじゃないの?

744 :デフォルトの名無しさん:04/01/16 22:28
>>734
C++BuilderXでWTLは使えますか?

関係ないけどWTL扱ってる日本語のサイト
ttp://home.att.ne.jp/banana/akatsuki/


745 :デフォルトの名無しさん:04/01/16 23:29
>>744
734じゃないけど当然使えるだろう。

746 :デフォルトの名無しさん:04/01/17 04:38
>>741
とっくに答えは出ていますが

747 :デフォルトの名無しさん:04/01/17 04:51
>>746
どこに?

748 :デフォルトの名無しさん:04/01/17 13:02
http://home.att.ne.jp/banana/akatsuki/

749 :デフォルトの名無しさん:04/01/17 13:46
>>747
>>720-721

750 :デフォルトの名無しさん:04/01/17 16:37
>>748
>>744


751 :デフォルトの名無しさん:04/01/17 20:23
>>749
だからGetFolderPathはどう使えば良いの?

752 :デフォルトの名無しさん:04/01/17 21:27
>>751
ダイアログにメッセージを送ってるんだから、
ダイアログが表示中の場合しか使えないことは明らかだろうが。
ソースを読めない人間がWTLを使おうとすること自体に無理がある。

753 :デフォルトの名無しさん:04/01/17 23:46
CFontDialogのGetCurrentFontなんかだと
・ダイアログ表示中
・DoModal後
の二種類の使い方できるけどね。

CFileDialogの場合はダイアログ表示中はGetFilePathを使って、
DoModal後は直接m_szFileNameにアクセスしれってことらしい。

754 :デフォルトの名無しさん:04/01/18 00:19
>>751
情けない奴だな

755 :セイラ:04/01/18 00:21
軟弱者!

756 :デフォルトの名無しさん:04/01/18 17:32
WTLでMFCのコントロールを使う方法ってないよね。
その逆はあるけど。

757 :デフォルトの名無しさん:04/01/20 23:50
>>756
適当に移植すれば?ソースもあるんだし

758 :デフォルトの名無しさん:04/01/20 23:56
コントロール関係はあえてMFCのを使う必要があるの?

759 :デフォルトの名無しさん:04/01/22 04:44

http://www.codeproject.com/miscctrl/gridctrl.asp?target=mfc%7Cgrid
のMFC GridをWTLに移植シマスタ。という方っておりますか?

コレをWTLに移植しようとして挫折シマスタ。

760 :デフォルトの名無しさん:04/01/22 21:58
>>759
いろいろ試したけど結局自作した

761 :デフォルトの名無しさん:04/01/23 13:52
WTLはネットワーク関連のクラスがないのがイマイチ。
CHttpFileとか自作すると結構大変。


762 :デフォルトの名無しさん:04/01/23 13:55
そういうのはATLが対応しないのかな。WTLがサポートするのは基本的にGUIだから。

763 :デフォルトの名無しさん:04/01/23 14:13
それもそうか。


764 :619:04/01/23 14:40
ATL Server に CAtlHttpClient なんてのはあるみたい。
ATLにも、MFCとは異なる面からのネットワークサポートはあるっぽい。
使ったことが無いからよくわかんないけど。

765 :デフォルトの名無しさん:04/01/29 01:17
>>760

スバラスィー。使わせてくださいませんか?

766 :デフォルトの名無しさん:04/01/31 06:43
ソースネクストの警戒電話8がWTL使ってる

767 :デフォルトの名無しさん:04/01/31 09:51
>>766
なんでわかる?

768 :デフォルトの名無しさん:04/01/31 10:36
>>767
766じゃないけど
spy++でもつかったんじゃない?

769 :デフォルトの名無しさん:04/01/31 11:04
ウィンドウクラス名がWTL:・・・・・・だったてことか
てかなんでまた軽快電話を調べようと思ったんだろう

770 :デフォルトの名無しさん:04/01/31 23:50
よりによってネ糞トかよ!


771 :デフォルトの名無しさん:04/02/06 08:32
質問させて下さい。
リソースにダイアログ(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()


772 :771続き:04/02/06 08:33
  LRESULT OnInitDialog(UINT , WPARAM , LPARAM , BOOL& )
  {
    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の処理が全くないので、テキストが設定できないとかいうのなら分かりますが
落ちてしまうのは何故なんでしょうか?

773 :771続き:04/02/06 08:35
環境を書き忘れてました。
VC++ .NET 2003 STD と WTL 7.1です。

774 :デフォルトの名無しさん:04/02/06 12:15
BEGIN_MSG_MAP(CAboutDlg)

CAboutDlgって何よ

775 :デフォルトの名無しさん:04/02/06 23:46
>>771-772

COMMAND_ID_HANDLER(IDOK, OnCloseCmd)

COMMAND_HANDLER(IDOK, BN_CLICKED, OnCloseCmd)
にしたらどうでしょう ?

776 :771:04/02/07 05:34
>>775
おぉ、出来た!
テキスト内容を変更した時にWM_COMMAND::EN_CHANGEが出ているのか・・・
リストコントロールが持っているEditコントロールのIDとIDOKが同じ値だったから
OnCloseCmd()が呼び出されていたのが原因だったんですね。

しかし、テキスト編集に使用されるEditコントロールのIDは変更できないんでしょうか?
なんか、WTLとは関係ないような気がしてきた・・・

777 :775:04/02/10 00:07
>>776

ID の変更なら、SetWindowLong でできますが、
リストビューに影響がでるかもしれないですね。

ウィザードが吐いたコードのままですと
ボタンからクリック以外の通知が来たときにも閉じちゃうので、
COMMAND_HANDLER を使った方がいいでしょう。

778 :デフォルトの名無しさん:04/02/11 11:27
ATL7.1にてWindowsNTサービスを作成しようとしています。
VS6.0の場合はCServiceModuleのスケルトンがWizard生成
されていたので、このメンバ関数のインプリメントを
をいじるというアプローチにて一通り動作するサービスを
構築できていたのですが、ATL7.1の場合はCAtlServiceModuleT
に大半の実装が移ってしまっています。
これらのメンバの大半はオーバーライドできないため、
インストール時の特殊な操作を追加しようとしてつまづいて
しまいました。

そこで、CAtlServiceModuleTの派生クラスCAtlServiceModuleExT
を定義し、共通的なカスタマイズを加えた上で,
さらにCAtlServiceModuleExTを派生させて実際のサービスに
用いようとしています。
このとき、たとえばOnInstall()をVisual Stdio内の関数
プロパティからオーバーライド可能な様に定義したいのですが、
atlbase.hをいくらみても、個々のメンバがvirtualになっている
わけでもなく、プロパティ→オーバーライドリストに出現する
ように関数定義する差異がわからないのです。

どなたかこの点について解答をお持ちの方いらっしゃいませんか?

779 :デフォルトの名無しさん:04/02/11 13:05
>>778
それは、private派生やprotected派生したクラスは
基底側への自動変換が許されていないからだと思われ。

780 :デフォルトの名無しさん:04/02/11 15:17
ATL7.1のサービス作成にはバグがあるという噂。


781 :デフォルトの名無しさん:04/02/11 15:56
>>780
具体的には?

782 :デフォルトの名無しさん:04/02/11 16:09
778です。


>>779
うーん。private派生でもprotected派生でもないんですけどねぇ。
そもそもCAtlServiceModuleT::OnInstall()ですので、ベースクラス
は関係ないとゆーか。
CAtlServiceModuleExT側にOnInstall()の実装丸ごとコピーして
やろうとしてるですよ。それでもVisualStdioは思うように動かない
わけで。

>ATL7.1のサービス作成にはバグがあるという噂。

どこかのコンテンツにあったサービスが「起動」できない
ってやつでしたら割と簡単に対処できましたよ。
スケルトンの中にCOMイニシャライズが書かれてて、
それに失敗するとexitしちゃうので、
スケルトン出力後に最低一個のATLオブジェクト追加すれば
OKです。


783 :デフォルトの名無しさん:04/02/11 17:24
788です。追加調査結果を。
もちろんOnInstallは手書きで書けば自前クラス内でいくらでも
オーバーライドできるわけですが、チーム開発の効率を考えて
VS7.xのプロパティからGUIベースでオーバーライドできるような
ベースクラスにしたいな、という希望があったからなのです。
が、操作しているうちにどうやら無理そうな感じがしてきました。

というのも、
プロパティ→オーバーライドの操作時、画面下に個々のヘルプの
様なモノが表示されているわけで、この情報はソース内には
存在しないものです。となれば、ATLライブラリ自体を調整して
再ビルドするとかしない限り、この部分にカスタマイズしたエントリを
表示することはそもそも出来ないのではないかと思いました。

//AFXマクロの類で制御できるかと思ったのですが甘かったようです。


784 :デフォルトの名無しさん:04/02/11 20:49
>>781
たぶん
ttp://program.station.ez-net.jp/
ここのコンテンツのどっか。


785 :デフォルトの名無しさん:04/02/11 22:15
ttp://program.station.ez-net.jp/
の作者の方はまともにサービス組んだことないんじゃないですかね。

>すると、イベント ID が 0 となっていて、「リモート コンピュータ
>からメッセージを表示するために必要なレジストリ情報または
>メッセージ DLL ファイルがローカル コンピュータにない可能性
>がある」 とのことです。

これなんかは単にEventLog用のメッセージDLLを登録してない
だけですし。COMもあんまり詳しくないみたいですから
信用しないほうがいいかと。


786 :デフォルトの名無しさん:04/02/11 23:50
まああんまりネットには出回っていない技術だからね。
趣味グラマにはハードルが高いんでしょ。


787 :デフォルトの名無しさん:04/02/13 12:55
ATL/WTL 7.1 Internal 本出てくれないかなー。

788 :デフォルトの名無しさん:04/02/13 18:45
質問です。

CHeapPtrクラスを使用する時に、CCRTAllocator(デフォルト)を用いたら、ランタイムが
必要になりますか?

789 :デフォルトの名無しさん:04/02/13 22:23
自前でmallocを用意できればいらない。

790 :デフォルトの名無しさん:04/02/13 23:34
atlimpl.cppに非CRT版mallocない?

791 :デフォルトの名無しさん:04/02/18 11:44
#pragma message("atlinmp.cpp is obsolete. Please remove it from your project.")

792 :デフォルトの名無しさん:04/02/18 13:20
ATL7にはatlimpl.cppにあったようなスタートアップルーチンや独自malloc無くなったのか?

793 :デフォルトの名無しさん:04/02/18 13:26
atlmincrt.libってのがあるけど。

794 :デフォルトの名無しさん:04/02/18 13:29
atlmfc\src\atl\atlmincrt
あたりにスタートアップルーチンや独自mallocが存在するみたいだね。

795 :69式フリーPG:04/02/18 14:01
CLocalAllocaterかCGlobalAllocaterを使っては?
(参照:atlalloc.h)

796 :デフォルトの名無しさん:04/02/18 22:35
IEコンポーネントのスレが落ちちゃったようなので、こちらで質問です。

IEのツールバー(dll形式)を自作しているんですが、
IEの中止ボタンが押されたのを、IEコンポーネントの
イベントのようなもので取得する方法を探しています。

IEコンポーネント自体では、これといったものが見つかりません。
何か良い方法はありますでしょうか。

797 :デフォルトの名無しさん:04/02/20 00:39
>>796
これは?
http://www.codeproject.com/wtl/toolband.asp

798 :デフォルトの名無しさん:04/02/20 01:03
>>797
イベントの取得は既にできているんですが、
IEの中止ボタンが押された時に出るイベントが、分からなくて困っています。

799 :デフォルトの名無しさん:04/02/20 09:40
>>798
HTMLDocumentEvents2::onstop Eventかな?
あと質問はもうちょっと分かりやすくするように。



800 :デフォルトの名無しさん:04/02/24 08:44
で、>>798は解決したのか?


801 :デフォルトの名無しさん:04/02/24 17:54
質問です。

WTL 7.1 で AppWizard から MDI アプリケーションを作っています。
メニューの「ウインドウ」以下に開いている子ウインドウが列挙されないのですが
これは仕様ですか?
サンプルの MDIDocVw ではきちんと列挙されているのですが…

802 :デフォルトの名無しさん:04/02/26 22:32
>>799-800
>>796>>798です。自分で質問しておきながら、
しばらくこのスレを見ていませんでした。すみません・・・。

>>799を調べてみまして、実装してみました・・・が、どうもイベントが取得できないです・・・。

もうちょい具体的に書きますと、ソースの元として>>797のを使用しています。
その中のinvokeメソッドでイベントを取得しようと試みています。
DISPID_HTMLDOCUMENTEVENTS2_ONSTOPで取得しようとしたのですが・・・。

803 :デフォルトの名無しさん:04/02/26 23:18
>>802
ここのソースが参考になるかもしれん。ソース内でDISPID_HTMLDOCUMENTEVENTS2_ONSTOPを検索してみれ。
ttp://www.codeproject.com/atl/popupblocker2.asp


804 :デフォルトの名無しさん:04/02/28 01:10
>>803
ありがとうございます。
週末の土日に挑戦してみます。

805 :デフォルトの名無しさん:04/03/01 23:08
WTL で作られた商用ソフトってどのくらいあるのかな?

806 :デフォルトの名無しさん:04/03/01 23:23
警戒電話。
かなり気合入ってるけど実用性が少なめでした。

807 :デフォルトの名無しさん:04/03/01 23:38
まぁ既出だけどね<警戒電話

808 :デフォルトの名無しさん:04/03/01 23:41
既出って言っても僕が書いたんだけどね。

809 :デフォルトの名無しさん:04/03/01 23:43
うわぁ・・・改めてWTLユーザとこのスレの住人の少なさを感じる。

810 :あっちの9:04/03/01 23:55
なんかWTLスレが立っちゃったみたい。
ここが終わったらWTL組みは移動しよう。

WTLお勉強スレッド
http://pc2.2ch.net/test/read.cgi/tech/1078150663/

といってもこのスレが終わるまであと何ヶ月かかるんだろう・・・

811 :デフォルトの名無しさん:04/03/02 07:47
過疎スレを二つも作ってどうすんだ?
住人が分散するだけだろうに。


812 :デフォルトの名無しさん:04/03/02 23:57
で、801 は解決したのか?

813 :805:04/03/03 01:01
>>806
そのソフト知らなかったのでぐぐったら2chのスレが
引っかかったんだが、評判悪いのか?

814 :デフォルトの名無しさん:04/03/03 01:24
あの会社の製品はみんな評判悪いだろ

815 :805:04/03/03 22:17
>>814
使ったこと無いから評判とか気にしなかった。
使おうとも思わないようなソフト多いし。

816 :801:04/03/04 14:03
>>812
自力で解決しました(?)

#define _WTL_MDIWINDOWMENU_TEXT _T("ウィンドウ(&W)")
#include <atlframe.h>

キャプションを日本語化したのが原因でした.

817 :デフォルトの名無しさん:04/03/07 19:07
> 600
コンソールでビルドしてない?


818 :デフォルトの名無しさん:04/03/08 13:41
>>805
> WTL で作られた商用ソフトってどのくらいあるのかな?

・Microsoft Soft Windows ムービーメーカー
・Sonic MyDVD 5

あたりもWTL使ってますね。
どちらもSDIベースの割とシンプルなアプリなので
俺もWTL使ってみようかと思案中。

819 :805:04/03/08 20:21
>>818

情報ありがとう。
MS も使ってるんだ。

820 :デフォルトの名無しさん:04/03/09 10:17
http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/prodtechnol/winxppro/maintain/winxpsp2.asp
AMD の Athlon64 や Itenium 積んだ WinXPsp2 で ATL アプリが動かなくなったりするんかいな?


821 :デフォルトの名無しさん:04/03/09 12:47
なぜ?


822 :デフォルトの名無しさん:04/03/09 12:54
サンクとかさ。

823 :デフォルトの名無しさん:04/03/09 14:56
なにそれ?


824 :デフォルトの名無しさん:04/03/09 18:52
ちゃんと属性変更してるから問題ない

825 :デフォルトの名無しさん:04/03/09 18:54
>>824
_stdcallthunk はたんに HeapAlloc された領域に作ってるような・・・
気のせいかもしれないけど。

826 :デフォルトの名無しさん:04/03/10 00:43
よかったら Thunk が問題に含まれると思った根拠っていうか
理由って教えてもらえませんか?>>822

827 :822:04/03/10 10:18
サンクって、メモリ上に機械語つくって、直接それを実行しているでしょ。
ATL3.x は確かスタック上にコード生成していた気がしたからさ。

でも、ATL7.1 のコード見たら、ヒープ上に命令作成していたんだね。


828 :デフォルトの名無しさん:04/03/10 10:46
>>827
スタックに生成してたらウインドウプロシージャとして使えないだろ

829 :デフォルトの名無しさん:04/03/10 11:13
ATL3.0 の CWindowImplRoot と、CWndProcThunk のコード読んでみたら?

830 :デフォルトの名無しさん:04/03/10 12:29
>>828
WinMainあたりで確保されてたら?

ATL3.xはサンクを単なるメンバとして確保してるからCWindowImpl*がスタック上に
確保されるとサンクもスタック上に来る気がするんだが。

831 :826:04/03/10 22:06
>>827

ああ、そういうことだったんですか。
勉強になりました。
レスありがとうございました。

832 :デフォルトの名無しさん:04/03/10 22:25
その辺に触れてる本てATLインターナルくらいか

833 :デフォルトの名無しさん:04/03/10 22:47
>>832
ソース全部付いてるから、ホントに突っ込んだ解説書は需要が少なそうだよね。


834 :デフォルトの名無しさん:04/03/10 23:40
それ言うとMFCだってC標準ライブラリだってソースが付いてくるわけで

835 :826:04/03/11 00:39
>>832
ATL インターナル機会があったら読んで見ます。

836 :デフォルトの名無しさん:04/03/18 22:22
ATL::Base64Encode()って何ですか?

837 :デフォルトの名無しさん:04/03/18 23:00
見たままの意味だと思うが・・・

838 :デフォルトの名無しさん:04/03/31 15:38
VS6.0SP6日本語版でたね

839 :デフォルトの名無しさん:04/03/31 16:28
ようわからんがテンプレート周りのバグはこれで直るの?

840 :デフォルトの名無しさん:04/04/01 00:37
DelphiやC#のタイマーコントロールような非表示のActiveXを作成するにはどうしたら良いのでしょうか?
サンプルコードの在り処だけでもいいですから教えて下さい。
環境はVS C++.net 2003 std です。

841 :デフォルトの名無しさん:04/04/07 04:01
ちょっと保守しますよ・・・

842 :デフォルトの名無しさん:04/04/10 12:25
ATLでActiveXコントロール作ってるんですけど、プロパティにTrue/Falseのような
ドロップダウンリスト(項目は「Item1/Item2/Item3/Item4/...」等)を付けたいんですけど
どうしたらいいんでしょうか?

・コレクションを作ってプロパティにする。
・ストックプロパティを自作する。

のいずれかだと思うんですが、具体例を探しきれずに困っています。

843 :デフォルトの名無しさん:04/04/14 23:18
XPのSP2のニュース記事読んでもファイアウォールのことは書いてるけどATLのことはほとんど触れられてないなぁ

844 :デフォルトの名無しさん:04/04/15 19:47
そして>>843のレスも触れられない罠


845 :デフォルトの名無しさん:04/04/26 22:57
そして>>844のレスも(ry


846 :デフォルトの名無しさん:04/04/29 14:08
MFCと比較したときのメリットととして
どういったことが挙げられますか?

847 :デフォルトの名無しさん:04/04/29 14:42
コンパクト

848 :デフォルトの名無しさん:04/04/29 23:59
モテる

849 :デフォルトの名無しさん:04/04/30 08:27
MFCと比較するならWTL。


850 :デフォルトの名無しさん:04/05/03 18:50
コントロールの初期化時にDispEventAdviseを呼んで、破棄される時に
DispEventUnadviseを呼びたくてFinalConstructとFinalReleaseに書いたんで
すけど、DispEventAdviseを呼んじゃうと、DispEventUnadviseを呼ばない限り
FinalReleaseが呼ばれないみたいですね。。。

851 :デフォルトの名無しさん:04/05/03 19:49
ATLって結局なんなの?
MFCとどう使い分けるの?
全く使い方知らないんだが
今からでも勉強する価値ありまつか?

質問責めでマヂ申し訳ないんだが、情報が
やたら少ない・・・

852 :デフォルトの名無しさん:04/05/03 20:38
>ATLって結局なんなの?
ActiveX 職人が比較的楽にコントロールを作れるようにしたテンプレートライブラリ

>MFCとどう使い分けるの?
MFC は C++ 用の Windows アプリケーション全般で使えるライブラリ。
もちろん、ActiveX コントロールも作れるけど汎用ライブラリなんでランタイム
が大きいなど ActiveX コントロールを作るうえで不都合があったりする。
ATL を使えば再配布ファイルを少なくすることが可能なので現実問題、
MFC で ActiveX コントロールを使ってダウンロードさせることは少ないと思う。

>全く使い方知らないんだが
マニュアルもあるしサンプルもある。入門書もあった。

>今からでも勉強する価値ありまつか?
MS は .NET を推してるので、その考えに乗るなら必要ないだろう。

ATL は MFC に比べて敷居が高いので、必要が無いなら覚える必要は無いんじゃない?
MFC の代わり通常アプリを作れるように ATL を拡張した WTL (Windows Template Library)
というのもある。ただ WTL は MS 内部でも負けたようで MS 的には無視されてるが…


853 :デフォルトの名無しさん:04/05/04 00:11
>WTL は MS 内部でも負けたようで

そうだったんだ・・・

854 :デフォルトの名無しさん:04/05/04 22:07
>>852
こらこら
WTLは新バージョンしっかりでてますよ。

まあ相変わらず無サポート、ドキュメントなしだけど

855 :デフォルトの名無しさん:04/05/04 22:35
>まあ相変わらず無サポート、ドキュメントなしだけど

だから↑のことを指してるんだろ。<内部で負けた

856 :デフォルトの名無しさん:04/05/04 23:29
しかしなぜか使いやすかった > WTL

857 :デフォルトの名無しさん:04/05/05 00:12
誤解のないように言っておくと、MS内部で負けたってのはつまり、
MSが.NETをメインにしたから今更MFC以外のGUIクラスライブラリを
正式にサポートしようとはしなかったって意味ね。
WTLが使いにくいとかライブラリとして問題があるとかいう理由ではないよ。
技術的というよりマーケティング的に負けたという経緯。
WTLが素敵なライブラリなだけに悲しいね。

858 :デフォルトの名無しさん:04/05/05 16:43
今2chで話題のA何とかの中の人のMFC講座!
みんないっちゃだめだよ〜wwww
http://www.geocities.jp/aransk88/contents4.html


859 :デフォルトの名無しさん:04/05/05 17:32
>>858
なんですか?これは

860 :デフォルトの名無しさん:04/05/05 17:40
そこら中に貼ってるな

861 :デフォルトの名無しさん:04/05/05 18:57
おしえてください。

template <class T>
class CUpdateUI : public CUpdateUIBase
{
public:
CUpdateUI()
{
T* pT = static_cast<T*>(this);
pT;

最終行のpT; って何の意味があるの?


862 :デフォルトの名無しさん:04/05/05 21:01
最適化で消されないようにするためじゃないの?

863 :デフォルトの名無しさん:04/05/05 21:09
>>862
あーいや、実際のコードには続きがあって、pT->ほげほげ()ってメソッド
呼んでるんで、わざわざpT;って書かなくてもオプティマイザに消されるこ
とはない筈です。


864 :デフォルトの名無しさん:04/05/05 22:52
>>861
operator 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" とか
言われてしまった。

865 :デフォルトの名無しさん:04/05/05 22:54
>>864
そんなのがあるんですかー
オンドゥルルラギッタンディスカー

ありがとうございます。
そのキーワードで調べてみます。


866 :デフォルトの名無しさん:04/05/06 02:54
pMsg;

ってのも見ますよね。
構造体への単なるポインタです。
なんだろこれ。

867 :デフォルトの名無しさん:04/05/07 21:09
コピペしたときに、警告を黙らせるためでねーのかな。
(そーゆーコピペ元があるとか)

868 :デフォルトの名無しさん:04/05/07 22:52
>>867
どゆこと?

869 :デフォルトの名無しさん:04/05/08 00:43
初期化されていますが使われていません
の警告を防ぐのが実際使うときにも消さずに残ってるだけだと思ってるけど

870 :デフォルトの名無しさん:04/05/08 02:57
あげとこう。

871 :デフォルトの名無しさん:04/05/11 02:42
ATL7.xの本て出るんかな

872 :デフォルトの名無しさん:04/05/13 09:38
一応こっちにも貼っておく。
WTL7.5&オープンソース化
http://sourceforge.net/projects/wtl
http://www.itmedia.co.jp/news/articles/0405/13/news016.html


873 :デフォルトの名無しさん:04/05/13 13:59
これもね
http://blogs.msdn.com/robmen/archive/2004/05/12/130577.aspx

874 :デフォルトの名無しさん:04/05/13 14:24
AppWizardは.NET以降か

875 :デフォルトの名無しさん:04/05/13 14:59
WTL7.5のCStringのオペレータの戻り値が
const CString&
から
CString&
に修正されてるんだけど、ATL::CStringではどうなってる?

876 :デフォルトの名無しさん:04/05/13 15:47
ATLもオプソ化してくれないかなあ。
そうすればVC++ Toolkitでウハウハ。

877 :デフォルトの名無しさん:04/05/13 17:53
>>876
厚かましいぞ

878 :デフォルトの名無しさん:04/05/13 18:30
>>875
System.String

879 :デフォルトの名無しさん:04/05/13 18:47
>>878
(・∀・)カエレ!!

880 :875:04/05/14 21:09
あ、ごめん。OnlineMSDNのCStringT::operator =を見たら
CThisString& operator=(〜);
とか書いてたわ。

881 :デフォルトの名無しさん:04/05/15 21:07
個人BlogではWTLオープンソース化が紹介されてたりするが
ほとんど紹介だけで、知名度が上がるほどではなさそうだ・・・・

882 :デフォルトの名無しさん:04/06/10 23:38
ATL.NETって出る予定はありますか?

883 :デフォルトの名無しさん:04/06/11 00:39
何言ってるの君・・・

884 :デフォルトの名無しさん:04/06/11 01:31
>>882
残念ながら、出ないとのこと。
WTL.NETならでる可能性はあるけどな。


885 :デフォルトの名無しさん:04/06/11 02:08
WTL.NETて何?

886 :デフォルトの名無しさん:04/06/11 02:43
質問でつ。
CComObject<T>::CreateInstanceで作ったインスタンスって
明示的なAddRefとReleaseって必要ですか?
それとも、CComObjectが勝手に面倒見てくれますか?

あと、ブラウザ上で動くActiveXコントロールを作ってるんですが
ブラウザが閉じられたタイミングでデストラクタが走る、と
考えてて正しいですか?

887 :デフォルトの名無しさん:04/06/11 09:38
>>886
CComObject は参照カウントの管理をしない。
明示的に AddRef, Release をするか、CComPtr を使え。

ActiveX のほうだが、参照されなくなれば、デストラクタが走るだろ。
タブブラウザとかだとすぐには開放されないかもシレン
破棄されるときに、ログをはくようにして、確認してみたら?



888 :886:04/06/12 00:37
>887
サンクス。

冷静に考えると、ブラウザとは関係なく参照カウンタが0になったら解放されて
ブラウザ終了時にReleaseされてなかったらメモリリークするってことか。
なんか超初歩的な質問しちゃってスマソ

889 :r:04/06/26 12:03
俺の目的は「ファイルを作って、その作成日時を2004.2.14 17:33:08にする」こと。
#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;
}
こんなコードをかいて、実行してみました。

890 :r:04/06/26 12:09
>>889
あれ?バックスラッシュが全角になってしまた...

んで、実行すると
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を使わないでファイルのタイムスタンプを設定するにはどうすればいいのか
の二つです。


891 :デフォルトの名無しさん:04/06/26 13:53
>>889
CTimeとCFileTimeでは単位?が違うんじゃなかったっけ?
SystemTimeToFileTime使ったら?

892 :891:04/06/26 13:58
すまん。俺のレスは忘れてくれ。

893 :デフォルトの名無しさん:04/06/26 14:19
>>891-892
いや、それで合っていると思うよ。

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


894 :r:04/06/29 07:06
>>891-893
なるほど!
そか、GetTimeで得られる者が全然互換性なかったんだな。
戻り値の型も違うんだし、そもそも気づくべきでした...

ありがとう、たすかりました。

895 :デフォルトの名無しさん:04/06/29 14:37
CAtlRegExpってマルチバイトだと誤検出しちゃうんだが...なzに
結果: -> 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);
}
}

896 :デフォルトの名無しさん:04/07/04 21:03
教えてください。
MFCよりATLのCStringのほうが使いやすいと前レスで読んだのですが
MFCのプログラムでATLのそれを使うには具体的にどうすれば(どの
ヘッダを取り込んで、どのライブラリをリンクして...)
いいのでしょうか?


897 :デフォルトの名無しさん:04/07/05 10:45
プロジェクトのプロパティを開いて、一番上の項目で「ATLを動的リンクで使用する」を選ぶ。
プログラム中ではATL::を省略しない。

898 :デフォルトの名無しさん:04/07/05 17:00
using ATL::CString
でええやん。

899 :デフォルトの名無しさん:04/07/05 21:11
>>>897
え?


900 :896:04/07/05 22:15
>>897-898
遅れますた。今会社から帰ってきますた。
レスどうもありがとうございます。m(__)m
ところでATLを静的にリンクしてはまずいので
しょうか?

901 :デフォルトの名無しさん:04/07/06 15:16
>>900
普通するもんかと
テンプレートライブラリだし

902 :デフォルトの名無しさん:04/07/06 20:36
リンクして無くてもATLは使える・・・


903 :デフォルトの名無しさん:04/07/12 13:35
勉強しなくてもATLは使えまつか?

904 :デフォルトの名無しさん:04/07/12 16:56
なんだかんだで900突破してたんだ

905 :デフォルトの名無しさん:04/07/12 22:53
>>903
帰って下さい。あなたにこのスレは合いません。

906 :デフォルトの名無しさん:04/07/13 11:06
ATLの本てもう出ないのかな

907 :デフォルトの名無しさん:04/07/15 00:28
結局はソースを読むことになるし、
とっかかりはMSDNとウィザードがつくるスケルトンコードで間にあう。

908 :デフォルトの名無しさん:04/07/15 00:43
そんなこと言い出したら世の中のプログラミング本はほとんどいらないことになるからナンセンス。

909 :デフォルトの名無しさん:04/07/15 07:03
実際いらないと思うぞ

910 :デフォルトの名無しさん:04/07/15 08:54
ソースとスケルトンコードで間に合うと思っている人間がなぜここにいるんだ。

911 :デフォルトの名無しさん:04/07/15 23:10
無料のVCToolKitでも使えるATLの代わりになるものってない?

912 :はじめて:04/07/16 00:56
>>911

APPのコードをライブラリ化。
長文ソース簡略化で作業時間、効率を削減。

基本的なWin32システムを支援します。

最強のACライブラリー
ttp://www.geocities.jp/osoftjp

913 :デフォルトの名無しさん:04/07/21 17:23
ほす

914 :デフォルトの名無しさん:04/07/21 17:52
VC++2005ではATL8.0になるんだな。
なんかもう無駄に数字だけ上がってる気がしてきた。

915 :デフォルトの名無しさん:04/07/21 17:54
つか、なぜにATLなの?
圧倒的にMFCの方がやってる人多いでしょ?

916 :デフォルトの名無しさん:04/07/21 18:28
ミーハーだから

917 :デフォルトの名無しさん:04/07/21 18:37
多いからどうした。

918 :デフォルトの名無しさん:04/07/21 18:50
>>917
複数でプログラム作ったことないでしょ?
仕事でプログラムを作成する場合、一人ですべてを書き上げるなんて
ことはよほど小さな仕事でもない限り、ありえない。
先日納品したシステムは15名で作ったが、そのなかに
C++Builderしかできませ〜んなんて奴がいて、切っちゃおうかな
なんて考えたよ

919 :デフォルトの名無しさん:04/07/21 18:52
MFCもできますが。何か?

920 :デフォルトの名無しさん:04/07/21 18:53
どこにATLしか使わないなどと書いてんだ?
話の前提がおかしすぎ。

921 :デフォルトの名無しさん:04/07/21 18:56
困るねぇ、とんちんかんなこと言い出す奴がいると。
>>918みたいな奴は切っちゃおうかななんて考えたよ。

922 :デフォルトの名無しさん:04/07/21 18:58
さすがに2chはdomesticな人が多いですね

923 :デフォルトの名無しさん:04/07/21 19:00
夏休みだねぇ

924 :デフォルトの名無しさん:04/07/21 19:01
>>923
納品したとか書いてるからあれでも社会人らしいよ。

925 :デフォルトの名無しさん:04/07/21 19:04
釣りだったってことにしてあげなよ。

926 :デフォルトの名無しさん:04/07/21 19:05
かわいそうな子なんだね

927 :デフォルトの名無しさん:04/07/21 19:50
WTLのバージョンがあがったのに話題にもなりませんかそうですか・・・


928 :デフォルトの名無しさん:04/07/21 19:57
WTLのスレは別にあるんで

929 :デフォルトの名無しさん:04/07/21 20:13
2005BetaにはもうATL8.0付いてるの?

930 :デフォルトの名無しさん:04/07/22 09:47
ちょいと聞きたいんだけど
MFCではメッセージハンドラ内で投げられたCException例外は
ハンドラ内でcatchしなくてもフレームワークがcatchしてメッセージBOXを出してくれますよね。
それと同じ様に、ATLでもハンドラから漏れ出た例外をcatchしたいのです。

とりあえず今はBEGIN_MSG_MAPとEND_MSG_MAPをコピペして
try, catchを追加した独自のマクロを使ってますが…
もっとスマートな方法は無いでしょうか?

931 :デフォルトの名無しさん:04/07/23 13:28
>>930
template <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 を持っているクラスを判断してテンプレートパラメータに
しなきゃいけないところがなんか泥臭いけど・・・

932 :デフォルトの名無しさん:04/07/23 19:31
>>931
ありがとうございます。
いいかも、と思ったのですが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()


933 :デフォルトの名無しさん:04/07/24 18:44
WSHのGetObject 関数みたいに
未登録コンポーネントのインスタンスを作成する方法はありますか?


934 :デフォルトの名無しさん:04/07/25 15:39
あげとこう。

935 :デフォルトの名無しさん:04/07/25 17:07
MFCもATLも最近始めたばっかりなんだがどう使い分けたら
いいのかサパーリわからん。

936 :デフォルトの名無しさん:04/08/07 19:15
ATLで開発するときに、MFCは絶対使わない前提ですが
GDIのAPIなんかをいちいちSTLでラップしてますか?

あ・漏れはめんどくさいからしません。
最近、10年前のWindows API(16ビット)サンプル多数つきの本が
すごく役にたったりしてます。



937 :デフォルトの名無しさん:04/08/07 19:20
WTL。

938 :デフォルトの名無しさん:04/08/07 19:20
STLでラップって何よ

939 :デフォルトの名無しさん:04/08/08 22:12
>>936の文は支離滅裂な感じがする。

940 :デフォルトの名無しさん:04/08/09 14:19
>>936
CDC とか使うか?って話?漏れは使ってない。
使う価値がたいして感じられないから。

しかし CHandle なんかは C++ 特有のスコープ外れたら
破棄されるあたりが便利なので使ってる。

941 :デフォルトの名無しさん:04/08/09 15:03
いちいちラップとか書いてるから、CDCも知らないんじゃ

942 :デフォルトの名無しさん:04/08/09 15:26
DrawTextでストリングクラスを受けたりするかってことじゃないのか

943 :デフォルトの名無しさん:04/08/09 15:37
あぁ、STLでラップってstd::stringで受けられるようにするって意味か。

944 :デフォルトの名無しさん:04/08/09 15:43
なるほど。でも STL でラップしたい関数(群)ってそんなにあるかな?
文字列はどっちかっていうと CComBSTR 使ってるし・・・

945 :デフォルトの名無しさん:04/08/09 15:53
俺もCStringで足りるなぁ。
どうせstring(CStringでもいいけど)を引数に使うメリットったって、
文字数を関数に渡さなくて良いとかその程度だべ?

946 :デフォルトの名無しさん:04/08/09 16:04
GUIアプリあまり作らない人間にとってはstd::stringの方が馴染み深いと思う

947 :デフォルトの名無しさん:04/08/09 16:06
でもそれだけのためにいちいちラップっていうのも。
俺ならc_strでいいやと。

948 :はじめて:04/08/09 20:21
System.Stringでいいやと。

949 :デフォルトの名無しさん:04/08/09 20:44
おじさんつまんなーい。

950 :デフォルトの名無しさん:04/08/09 21:20
2005のATLリファレンスだけどなんか目新しいものあるか
http://lab.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vclib/html/291f38d1-d2de-4687-86a9-99b4fd35706c.asp

951 :デフォルトの名無しさん:04/08/10 03:19
951

952 :936:04/08/10 08:11
STLでラップって、少々言い方が悪かったです

HDCに関わる操作クラスを自作する。テンプレートクラスとかのSTL
機能も利用して再利用可能なクラスを作る。って事をしたほうが合理的か
どうかって事を聞きたかったのです。

>>940
CDCって、MFCをインクルードしたプロジェクトで有効でしょう?
MFCは使いたくないのでAPIごりごりなわけじゃないですか
やっていて、自分なりの結論としては、とりあかずAPIごりごりが
正解な気がします。これで動作したら後々クラス化できると思うし



953 :デフォルトの名無しさん:04/08/10 08:29
> テンプレートクラスとかのSTL 機能
用語の使い方がおかしい。
> CDCって、MFCをインクルードしたプロジェクトで有効でしょう?
なんども言われているが、WTLにすでにある。

954 :デフォルトの名無しさん:04/08/10 10:35
>>953
WTLのスレにいってきます

955 :デフォルトの名無しさん:04/08/10 12:27
やっぱりただの無知だったのか

956 :デフォルトの名無しさん:04/08/10 13:57
>>955
行ってきましたがこれを学習するよりも
API直書きのほうが効率が良いと思いました。


957 :デフォルトの名無しさん:04/08/10 14:43
>>956
マテマテ。
WTL くらいは使っても良いと思うぞ。メッセージマップとか。
その辺だけならドキュメントを1時間も読めば使えるだろうから、
「学習する」って程のものでもないし。

958 :デフォルトの名無しさん:04/08/10 14:58
皆につっこまれて意地になってるだけだろ。

959 :デフォルトの名無しさん:04/08/10 17:34
いえいえ、>>958意地になってなんかないですよ

実装が既に終わりましたので。次回の機会に使わせてもらいます。


960 :デフォルトの名無しさん:04/08/10 17:39
ところでVC++6とVC.NETで同じソースをビルドするとして
VC++6(SP6)プロパティページダイアログの動作が怪しいなんて事ありませんか?

.NETビルドのATLはVB6には貼れない
VC++6ビルドのATLは.NET VBに貼れる
互換性についてのドキュメントってどこにあるのでしょうか?
教えて君でスマソ

961 :デフォルトの名無しさん:04/08/10 17:52
日本語がめちゃくちゃだな

962 :デフォルトの名無しさん:04/08/10 19:09
なんか言うばかりでレアな実装している人はいないんだな

963 :デフォルトの名無しさん:04/08/10 21:25
また俺語ですか<レアな実装

964 :デフォルトの名無しさん:04/08/10 21:57
レアな実装とは、往々にしてアレな実装である

965 :デフォルトの名無しさん:04/08/11 01:31
IWebBrowser2 についてお聞きします。

Navigate 先を about:blank にしメモリ上の HTML を表示する、
という処理は書けたのですが、この HTML 内にある、
相対リンクがどうにも意図どおりに解釈されません。

具体的には
・外部スタイルシートを実行ディレクトリからの
 相対URL指定しても無視される。
・この文書内のアンカーへまともに飛べない。
 #some_where に行こうとすると
 about#some_where なる何も無いページを表示する
と言った症状です。

普通にテンポラリファイルに書き出して、
サクっと読み出すのが吉なんでしょうか?

966 :デフォルトの名無しさん:04/08/12 00:18
質問させてください。

ATLの勉強のために、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

967 :デフォルトの名無しさん:04/08/14 22:12
あげとこう。

968 :デフォルトの名無しさん:04/08/16 13:02
>>966
IObjectSafetyを実装して、INTERFACESAFE_FOR_UNTRUSTED_CALLER と
INTERFACESAFE_FOR_UNTRUSTED_DATA あたりはサポートした?

あと IPersistPropertyBag は、キミの追加したプロパティの保存と読み込みを
勝手にサポートしてくれたりは「しない」から、ちゃんとBEGIN_PROP_MAPとか
使ってプロパティを登録してあげる必要があるけど、これはやってますか?

969 :966:04/08/16 21:19
すいません、自己解決しました

public 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とか
>使ってプロパティを登録してあげる必要があるけど、これはやってますか?
確認したところ、やってありました。

970 :966:04/08/16 21:20
>>968
すいません、アンカーミスです
968さんありがとうございます

971 :デフォルトの名無しさん:04/08/28 12:43
あげとこう。

972 :はじめて:04/08/31 02:26
ATL.NETキタ━━━━(゚∀゚)━━━━ッ!!
ttp://www.atl.net/

973 :マイク ◆yrBrqfF1Ew :04/08/31 02:58
ATLはキモイな。

974 :デフォルトの名無しさん:04/08/31 20:33
内容がな(ry


975 :デフォルトの名無しさん:04/09/02 21:56
内容がなんと水鳥拳

976 :デフォルトの名無しさん:04/09/11 14:53:27
あげとこう。

977 :デフォルトの名無しさん:04/09/15 03:00:10
次スレは?

978 :デフォルトの名無しさん:04/09/15 03:12:49
WTLと統合したよ。

class ATL/WTL : public 2ch<ATL/WTL, Part3>
http://pc5.2ch.net/test/read.cgi/tech/1095185498/

979 :デフォルトの名無しさん:04/09/15 03:25:05
ここまで来るのに2年がかりか

980 :デフォルトの名無しさん:04/09/15 03:26:11
このスレ乙

981 :デフォルトの名無しさん:04/09/15 15:03:24
oti

187 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)