Donut開発情報交換スレ

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
オープンソースのタブブラウザDonutの開発情報交換スレです。

ソースの入手先はこちら。
Donut(本家)
http://hp.vector.co.jp/authors/VA016589/index_japanese.htm
Donut RAPT、L
http://www.atmark.gr.jp/~s2000/r/
Donut P
http://donutp.com/
2デフォルトの名無しさん:04/09/26 19:23:54
ビルド環境

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(?)
3デフォルトの名無しさん:04/09/26 19:24:18
4デフォルトの名無しさん:04/09/26 19:24:43
5デフォルトの名無しさん:04/09/26 19:27:16
>>1
こういうのはソフト板でやるべきなんじゃないかと思ったりしちゃうわけですよ

ソフトウェア板
http://pc5.2ch.net/software/
6デフォルトの名無しさん:04/09/26 19:31:35
>5
内容的にはム板の方が適当と思ったのですが板違いでしょうか?
特定のソフトウェアに関するものはダメ、というのは特にないと思ったのですが・・・。
7デフォルトの名無しさん:04/09/26 19:34:37
プログラムの開発・技術に関すること
ローカルルールにも「この板はプログラムを作る人のための板です。」
って書いてあるし良いと思うんだけどな
8デフォルトの名無しさん:04/09/26 19:39:12
まずはwin板からの流れですが、
VC++.NET 2003, ATL7/WTL7.5でコンパイルできるようにしましょう。

http://hp.vector.co.jp/authors/VA016589/software/build_donut/build_donut.html
によると、
AtlhostEx.h
AtlifaceEx.h
AtlifaceEx.idl
AtlifaceEx_i.c
が「ATLのバグフィックス及びput_DLControlFlagsインターフェイスを追加したもの。」
ということなので、これらをATL7に対応したものに置き換える必要があります。
9デフォルトの名無しさん:04/09/26 19:55:18
で、元の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}};
10デフォルトの名無しさん:04/09/26 20:10:10
あと、
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)
11デフォルトの名無しさん:04/09/26 21:10:59
何この情報交換と見せかけて実は作ってくださいスレ
12デフォルトの名無しさん:04/09/27 21:26:38
ATLスレ使っても良かったんじゃない?
で、>>8は完動させられたのか?
13デフォルトの名無しさん:04/09/28 00:14:03
>12
いやところがエラーつぶしてビルドするまではいったんだけど
ちゃんと動くとはいえないものができてしまってそのまま放置してました。

win板でビルドに挑戦しようとしてる人がいたので
とりあえず自分がやったところは書いておこうかと。

これからちょっとづつ調べていこうと思ってるけど
その前にdat落ちしそうな予感。
14デフォルトの名無しさん:04/09/28 00:40:34
要するに誰かなんとかしてくださいスレだろ
15デフォルトの名無しさん:04/09/28 00:58:51
>14
あんまりそういう人もいないだろうからしかたなく。
でも誰かなんとかしてくれるのが一番ありがたいんですけどね。

そういうわけで、誰かATL3.0を持ってる人
Atlhost.hとAtlhostEx.h、Atliface.h, idlとAtlifaceEx.h, idlの
diffをとってくれませんか?
16デフォルトの名無しさん:04/09/28 01:02:02
ATL3.1じゃだめぽなの?
ググれば普通にあるけど
17デフォルトの名無しさん:04/09/28 01:16:10
>16
ATLも3.1ってあったんですか。
もしかしてATL3.1拾ってきてビルドすればいいじゃん、って話?
ちょっと探してきます。
18デフォルトの名無しさん:04/09/28 01:34:20
>16
なかなか見つからないです。
っていうかATL3.1でした?WTLじゃなくて?
VC++.NETのドキュメントではATLのバージョンは
1.0 -> 1.1 -> 2.0 -> 2.1 -> 3.0 -> 7.0
となっているんですが・・・。
19デフォルトの名無しさん:04/09/28 01:57:48
あ、WTLと勘違いしてた。スマソ
20デフォルトの名無しさん:04/09/28 02:01:36
てかdiffって7.0のと取るんでしょ?うーん
21デフォルトの名無しさん:04/09/28 23:43:04
>20
3.0を元にしたソースなので、3.0のとdiffがわかれば
7.0版を作るのも楽になるでしょ?
22デフォルトの名無しさん:04/09/29 01:44:19
古いAtlifaceEx.hとAtlifaceEx.idlも
IAxWinAmbientExをIAxWinAmbientEx2に置換するだけで使えました。
この2つは新しい定義しかないからOKなのかな。
23デフォルトの名無しさん:04/09/29 01:50:31
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)
を追加。内容はまだよくわかってないので
この辺が不具合の原因かも、とにらみつつとりあえず先へ進みます。
24デフォルトの名無しさん:04/09/29 02:03:20
ATLTRYの中で宣言したCChildFrame* pChildが未定義といわれるので
とりあえずATLTRYの外に宣言を移しておく。

MSG_WM_TIMERがWTL7.0から変更になったらしい。(readme参照)
void OnTimer(UINT, TIMERPROC*)は
void OnTimer(UINT, TIMERPROC)に変更(2箇所)

MtlRefreshBandIdealSizeで型が違うといわれるので
GetParentをCReBarCtrlにキャスト。
何が変わったせいかは未調査です。

これでとりあえずビルド成功。Donut2.52です。
25デフォルトの名無しさん:04/09/29 02:04:30
このままだと起動時にいきなりエラーが出るので、
Donut.cppで
hRes = _Module.Init(NULL, hInstance);を
hRes = _Module.Init(NULL, hInstance, &LIBID_ATLLib);に変更。
これもATLの変更のせい、とどこかで見た気がします。
26デフォルトの名無しさん:04/09/30 13:04:36
まんどくせーからさっさとdiffをうぷしてくれたまへ
27デフォルトの名無しさん:04/10/02 18:17:12
DonutRapt#51 を VC++.NET 2003 でコンパイルできるようにしました。
なんとなくちゃんと動く感じです。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1096708308_1/donutRapt_diff.zip
28デフォルトの名無しさん:04/10/02 19:16:37
ちょっと突っ込んでおくと
IAxWinAmbientDispatchEx→ IAxWinAmbientDispatchEx2
みたいなありがちな名前変更は将来的な衝突を起こしかねんから止めといたほうがいいと思う。
ださいけどIAxWinAmbientDispatchEx200とか・・・
2928:04/10/02 19:59:24
//MtlRefreshBandIdealSize(GetParent(), m_hWnd); よくわからん
これはダメ
MtlRefreshBandIdealSize((HWND)GetParent(), m_hWnd);

あとC4005は#undefで対応した方が良いかもしれない。
30デフォルトの名無しさん:04/10/03 21:18:32
>27
乙です。ちゃんと動くっぽいですね。
RAPTは途中からWTL7.0に変更されているから
そのあたりでdiffを取れば本家やPも対応できるかな。
3127:04/10/04 22:53:24
>>28
とりあえず、指摘の部分は直しました。
まあ、あえてdiffをあげるほどの物ではないでしょう。

>>30
現段階ではかなり無理やりですので...
まず、wtlfixedのなかを何とかしたいですね。
32デフォルトの名無しさん:04/10/06 22:03:53
タブ閉じるときにたまに落ちる・・・
3327:04/10/08 00:16:05
>>32
自分はあれをベースにさらにunicode対応させたものを使っていますが、
そう言った現象は発生していません。
まあ、そんなに使いこんでいるわけではないのでこれから起こるかもしれませんが。
34デフォルトの名無しさん:04/10/10 21:09:26
>30
RAPT新しいソースしかなかったorz
>32
上に書いたやり方でやった場合ですか?
あれはとりあえずビルドできた程度のものなので不具合ありです。
子ウィンドウのスクロールバーが出ないとこから何とかしたい。
35デフォルトの名無しさん:04/10/11 14:53:09
うちではスクロールバーは出てるけど?
36デフォルトの名無しさん:04/10/13 01:01:49
>35
AtlhostEx.hのマージミスのせいだったようです。
>27のdiffのとおりにすれば本家も大体ちゃんと動きました。
でも新規タブを開くとMDI子ウィンドウの最大化が解除されてしまうみたい。
DonutPでもやってみましたがMDI子ウィンドウが最大化されてないと
スクロールバーが出ないというよくわからない状態に。
もうちょっと調べてみます。
37デフォルトの名無しさん:04/10/21 01:39:45
>36
DonutPでMDI子ウィンドウが最大化されてないとスクロールバーが出ないのは
基にしてたバージョン4.3がもともとそうだったみたいで、
5.0のソースを基にしたらちゃんとスクロールバーでました。
なのでPも>27と同じようにしてビルドできそうです。
38デフォルトの名無しさん:04/11/06 14:17:45
漏れ用リンク

DonutP unDonut スレッド Vol.23
http://pc5.2ch.net/test/read.cgi/software/1099166727/l50
unDonut Part1
http://pc5.2ch.net/test/read.cgi/software/1099122910/l50
DonutP スレッド Vol.23
http://pc5.2ch.net/test/read.cgi/software/1099121708/l50
Donut Vol.14
http://pc5.2ch.net/test/read.cgi/win/1082762662/l50
ドーナツ
http://pc5.2ch.net/test/read.cgi/software/1099398734/l50


85 :名無しさん@お腹いっぱい。 :04/11/06 14:14:19 ID:0OkCSmH+
Donut開発情報交換スレ
http://pc5.2ch.net/test/read.cgi/tech/1096194187/
【Sleipnir】タブブラウザ@pc2nanmin【DonutP】
http://pc5.2ch.net/test/read.cgi/pc2nanmin/1080314174/
39デフォルトの名無しさん:04/11/07 10:32:18
>>34
> RAPT新しいソースしかなかったorz
公開されてる
40デフォルトの名無しさん:04/11/07 18:50:54
今までの全ソース出てるね。
41デフォルトの名無しさん:04/11/25 17:53:08
Rapt #52出たけどソースコードはまだみたい。
42デフォルトの名無しさん:04/11/25 22:09:56
こんなページもあったり
ttp://www.atmark.gr.jp/~s2000/r/rtl/TreeOption.html
43デフォルトの名無しさん:04/12/13 00:56:26
上げ保守ついでにRAPT #56のソース来てました
44デフォルトの名無しさん:04/12/13 20:45:22
Diff Diff Diff
45デフォルトの名無しさん:05/02/28 15:03:47
保守ついでに
WTL 7.5出てます
46デフォルトの名無しさん:05/02/28 20:29:57
いつの話やねん
47デフォルトの名無しさん:2005/06/01(水) 19:20:57
age
48デフォルトの名無しさん:2005/06/16(木) 23:57:30
ソースと実行ファイルを入手したいのですが
>>1
のサイトにアクセスできません…
ミラーサイトとかってありますか?
49デフォルトの名無しさん:2005/06/17(金) 20:58:39
RAPT氏のサイトいってごらん
50デフォルトの名無しさん:2005/06/18(土) 18:44:42
>>49
情報ありがとうございます
さっそく覗いてみました

そこからダウンロードできた
donut251_r0c-2_src01.zip
が最も新しいソ−スなのでしょうか?

InternetArchiveで検索すると
donut252_src02.lzh
が存在しているようです

InternetArchiveに残っていたページに
そう書いてあったのですが、残念ながら、
そのlzhはInternetArchiveに
残っていなかったようでした…
51デフォルトの名無しさん:2005/06/24(金) 21:14:40
>>50
あるかと思ってたら無かったですかorz..

とりあえずdonut252_src02.lzh、うpした。
http://para-site.net/up/data/2877.lzh
52デフォルトの名無しさん:2005/07/02(土) 00:16:20
>>51
めちゃくちゃ遅くなりましたが
いただきました
どうもありがとう
53デフォルトの名無しさん:2005/07/21(木) 22:57:21
 
54デフォルトの名無しさん:2005/07/24(日) 13:58:52
#63age
Qのソースも遂に公開か
55デフォルトの名無しさん:2005/07/24(日) 18:06:54
どこ?
56デフォルトの名無しさん:2005/07/24(日) 19:00:00
倉庫2
57デフォルトの名無しさん:2005/07/24(日) 20:49:24
QとLを間違ってるだけでは・・・
58デフォルトの名無しさん:2005/07/24(日) 23:32:35
確かに間違ってた
スマヌ;;

QとLとは間違えてない
59デフォルトの名無しさん:2005/09/17(土) 17:57:59
VC++ .Netでビルドしようとあれこれしたが、CDonutViewのOnCreateがうまくいかない。
m_spAxAmbientが0のまま。こいつに向けてQueryInterfaceを行うとE_NOINTERFACEが返ってくることはわかった。
で、どうしたらいいかわからん。
○| ̄|_
60デフォルトの名無しさん
>>59
unDonutのソースがVC7.1みたいだから参考にすれば?