ビルド環境
Donut:
VC++ 6.0, ATL3.0/WTL3.1
Donut RAPT:
VC++ 6.0, ATL3.0/WTL7.0, IE6.0 Header files
Donut P:
VC++ 6.0, ATL3.0/WTL3.1, IE5.5 Header files(?)
>5
内容的にはム板の方が適当と思ったのですが板違いでしょうか?
特定のソフトウェアに関するものはダメ、というのは特にないと思ったのですが・・・。
プログラムの開発・技術に関すること
ローカルルールにも「この板はプログラムを作る人のための板です。」
って書いてあるし良いと思うんだけどな
で、元のATL3.0版ではIAxWinAmbientDispatchExを作って
put_DLControlFlagsが定義してあるんだけど、ATL7.0では
最初からIAxWinAmbientDispatchExが存在しているので、
とりあえずIAxWinAmbientDispatchEx2に変更してみました。
AtlifaceEx_i.c
< const IID IID_IAxWinAmbientDispatchEx = {0x359E0200,0x54D2,0x11d4,{0x8A,0x9C,0xAB,0xAE,0xC7,0x3C,0x4C,0x73}};
---
> const IID IID_IAxWinAmbientDispatchEx2 = {0x359E0200,0x54D2,0x11d4,{0x8A,0x9C,0xAB,0xAE,0xC7,0x3C,0x4C,0x73}};
あと、
using WTL::wtlTraceFlags; がエラーになるのでコメントアウト。
ATL7.0以降では定義されないらしい。
atlapp.h
#if (_ATL_VER >= 0x0700)
DECLARE_TRACE_CATEGORY(atlTraceUI);
#ifdef _DEBUG
__declspec(selectany) ATL::CTraceCategory atlTraceUI(_T("atlTraceUI"));
#endif // _DEBUG
#else //!(_ATL_VER >= 0x0700)
enum wtlTraceFlags
{
atlTraceUI = 0x10000000
};
#endif //!(_ATL_VER >= 0x0700)
何この情報交換と見せかけて実は作ってくださいスレ
ATLスレ使っても良かったんじゃない?
で、
>>8は完動させられたのか?
>12
いやところがエラーつぶしてビルドするまではいったんだけど
ちゃんと動くとはいえないものができてしまってそのまま放置してました。
win板でビルドに挑戦しようとしてる人がいたので
とりあえず自分がやったところは書いておこうかと。
これからちょっとづつ調べていこうと思ってるけど
その前にdat落ちしそうな予感。
要するに誰かなんとかしてくださいスレだろ
>14
あんまりそういう人もいないだろうからしかたなく。
でも誰かなんとかしてくれるのが一番ありがたいんですけどね。
そういうわけで、誰かATL3.0を持ってる人
Atlhost.hとAtlhostEx.h、Atliface.h, idlとAtlifaceEx.h, idlの
diffをとってくれませんか?
ATL3.1じゃだめぽなの?
ググれば普通にあるけど
>16
ATLも3.1ってあったんですか。
もしかしてATL3.1拾ってきてビルドすればいいじゃん、って話?
ちょっと探してきます。
>16
なかなか見つからないです。
っていうかATL3.1でした?WTLじゃなくて?
VC++.NETのドキュメントではATLのバージョンは
1.0 -> 1.1 -> 2.0 -> 2.1 -> 3.0 -> 7.0
となっているんですが・・・。
あ、WTLと勘違いしてた。スマソ
てかdiffって7.0のと取るんでしょ?うーん
>20
3.0を元にしたソースなので、3.0のとdiffがわかれば
7.0版を作るのも楽になるでしょ?
古いAtlifaceEx.hとAtlifaceEx.idlも
IAxWinAmbientExをIAxWinAmbientEx2に置換するだけで使えました。
この2つは新しい定義しかないからOKなのかな。
AtlhostEx.hはatlhost.hと置き換えになるから
ちゃんとATL7.0のatlhost.hから書き直したほうがいいでしょう。
古いAtlhostEx.hから、
///////////////////////////////////////////////////////////////////////////
で囲まれたget_DLControlFlagsとかのある部分をコピペ。
その下の
BEGIN_COM_MAP(CAxHostWindow)
と
END_COM_MAP()
の間に
COM_INTERFACE_ENTRY2(IDispatch, IAxWinAmbientDispatchEx2)
COM_INTERFACE_ENTRY(IAxWinAmbientDispatchEx2)
を追加。内容はまだよくわかってないので
この辺が不具合の原因かも、とにらみつつとりあえず先へ進みます。
ATLTRYの中で宣言したCChildFrame* pChildが未定義といわれるので
とりあえずATLTRYの外に宣言を移しておく。
MSG_WM_TIMERがWTL7.0から変更になったらしい。(readme参照)
void OnTimer(UINT, TIMERPROC*)は
void OnTimer(UINT, TIMERPROC)に変更(2箇所)
MtlRefreshBandIdealSizeで型が違うといわれるので
GetParentをCReBarCtrlにキャスト。
何が変わったせいかは未調査です。
これでとりあえずビルド成功。Donut2.52です。
このままだと起動時にいきなりエラーが出るので、
Donut.cppで
hRes = _Module.Init(NULL, hInstance);を
hRes = _Module.Init(NULL, hInstance, &LIBID_ATLLib);に変更。
これもATLの変更のせい、とどこかで見た気がします。
まんどくせーからさっさとdiffをうぷしてくれたまへ
ちょっと突っ込んでおくと
IAxWinAmbientDispatchEx→ IAxWinAmbientDispatchEx2
みたいなありがちな名前変更は将来的な衝突を起こしかねんから止めといたほうがいいと思う。
ださいけどIAxWinAmbientDispatchEx200とか・・・
//MtlRefreshBandIdealSize(GetParent(), m_hWnd); よくわからん
これはダメ
MtlRefreshBandIdealSize((HWND)GetParent(), m_hWnd);
あとC4005は#undefで対応した方が良いかもしれない。
>27
乙です。ちゃんと動くっぽいですね。
RAPTは途中からWTL7.0に変更されているから
そのあたりでdiffを取れば本家やPも対応できるかな。
>>28 とりあえず、指摘の部分は直しました。
まあ、あえてdiffをあげるほどの物ではないでしょう。
>>30 現段階ではかなり無理やりですので...
まず、wtlfixedのなかを何とかしたいですね。
タブ閉じるときにたまに落ちる・・・
>>32 自分はあれをベースにさらにunicode対応させたものを使っていますが、
そう言った現象は発生していません。
まあ、そんなに使いこんでいるわけではないのでこれから起こるかもしれませんが。
>30
RAPT新しいソースしかなかったorz
>32
上に書いたやり方でやった場合ですか?
あれはとりあえずビルドできた程度のものなので不具合ありです。
子ウィンドウのスクロールバーが出ないとこから何とかしたい。
うちではスクロールバーは出てるけど?
>35
AtlhostEx.hのマージミスのせいだったようです。
>27のdiffのとおりにすれば本家も大体ちゃんと動きました。
でも新規タブを開くとMDI子ウィンドウの最大化が解除されてしまうみたい。
DonutPでもやってみましたがMDI子ウィンドウが最大化されてないと
スクロールバーが出ないというよくわからない状態に。
もうちょっと調べてみます。
>36
DonutPでMDI子ウィンドウが最大化されてないとスクロールバーが出ないのは
基にしてたバージョン4.3がもともとそうだったみたいで、
5.0のソースを基にしたらちゃんとスクロールバーでました。
なのでPも>27と同じようにしてビルドできそうです。
>>34 > RAPT新しいソースしかなかったorz
公開されてる
今までの全ソース出てるね。
41 :
デフォルトの名無しさん:04/11/25 17:53:08
Rapt #52出たけどソースコードはまだみたい。
43 :
デフォルトの名無しさん:04/12/13 00:56:26
上げ保守ついでにRAPT #56のソース来てました
Diff Diff Diff
保守ついでに
WTL 7.5出てます
いつの話やねん
age
ソースと実行ファイルを入手したいのですが
>>1 のサイトにアクセスできません…
ミラーサイトとかってありますか?
49 :
デフォルトの名無しさん:2005/06/17(金) 20:58:39
RAPT氏のサイトいってごらん
>>49 情報ありがとうございます
さっそく覗いてみました
そこからダウンロードできた
donut251_r0c-2_src01.zip
が最も新しいソ−スなのでしょうか?
InternetArchiveで検索すると
donut252_src02.lzh
が存在しているようです
InternetArchiveに残っていたページに
そう書いてあったのですが、残念ながら、
そのlzhはInternetArchiveに
残っていなかったようでした…
>>51 めちゃくちゃ遅くなりましたが
いただきました
どうもありがとう
53 :
デフォルトの名無しさん:2005/07/21(木) 22:57:21
54 :
デフォルトの名無しさん:2005/07/24(日) 13:58:52
#63age
Qのソースも遂に公開か
どこ?
倉庫2
QとLを間違ってるだけでは・・・
確かに間違ってた
スマヌ;;
QとLとは間違えてない
59 :
デフォルトの名無しさん:2005/09/17(土) 17:57:59
VC++ .Netでビルドしようとあれこれしたが、CDonutViewのOnCreateがうまくいかない。
m_spAxAmbientが0のまま。こいつに向けてQueryInterfaceを行うとE_NOINTERFACEが返ってくることはわかった。
で、どうしたらいいかわからん。
○| ̄|_
>>59 unDonutのソースがVC7.1みたいだから参考にすれば?