2ちゃんねるブラウザ「OpenJane」改造総合スレ 2
302 :
293 :
02/11/10 00:39 ID:oexdI22B FreeAndNilは、使う癖をつけといた方が安全そうなんで、常に使うようにしてました。
あと、改造しやすいようにする為の要望とかも、本スレでしちゃってもOKなんですか?
>>294-295 いや、「修正」じゃなくて、自分でいろいろ「改造」してみてます。
本体に実装されないだろう機能の質問も、色々したかったのでこっちに書いてみました。
一緒に使ってるゾヌとログを共通化したり、上にあるアニメーションを表示するロジックを
改修追加して使ってます。
303 :
293 :02/11/10 01:16 ID:oexdI22B
あとメモリーリークですが、見つけられなくて怪しかったのは「UFavorite」でした。 他にも5つあったんですが、それはDelphiのバグっぽかったです。 下は起動して、即終了したときのメモリーリークのエラーログです。 --------------------------------------------------------------- 2002/11/10 :57:09 #0000071C - プログラムが起動しました。 --------------------------------------------------------------- 2002/11/10 :59:48 #0000071C - 6 回メモリーを解放し忘れています。 種類: 不明 サイズ: 12 バイト バイナリ: 04DE4B002CEF240100000000 UFavorite.pas(365) : @Ufavorite@TFavorites@Load 関数 Main.pas(1721) : @Main@TMainWnd@FormCreate 関数 不明なファイル : @Forms@TCustomForm@DoCreate 関数 不明なファイル : @Forms@TCustomForm@AfterConstruction 関数 不明なファイル : @Forms@TApplication@CreateForm 関数 Jane(57) : initialization 関数
Main.pasのsubjectReadyEventは解放してないです。
>>303 ログを出力するようにするにはどうすれば?(MemCheckですよね?)
305 :
293 :02/11/10 01:34 ID:oexdI22B
>>305 どもです。
けど、起動時にエラーが出て使えない(´・ω・`)
個数だけでメモリリークをつぶすのは無理があるなあ。
もうちっと、いじってみるか。
D:\Program Files\Delphi\jane\src\Jane2ch.exe --------------------------------------------------------------- 2002/11/10 2:02:01 #00000F10 - プログラムが起動しました。 --------------------------------------------------------------- 2002/11/10 2:02:05 #00000F10 - 62 回メモリーを解放し忘れています。 種類: 不明 サイズ: 108 バイト バイナリ: 0100000063000000838283578385815B838B20274A616E653263682E65786527 2082CC83418368838C83582030303430323544352082C583418368838C835820 38313135313937432082C991CE82B782E993C782DD8D9E82DD88E194BD82AA82 A882AB82DC82B582BD814200 あきませんね。
ゾヌとログの共有させようと思うんですが どの当たりか 教えてください。 Open Jane Doe 新着3204件:全3204 約6秒程 ゾヌ● 新着3204件:全3204 約20秒程 何とかログの共有できんものかな
>>302 改造スレ活性化のためにもガンガって!
310 :
293 :02/11/10 21:30 ID:oexdI22B
>306 起動時にエラーですか? "Jane2ch.dpr"の"uses"の先頭に"MemCheck"を追加して ホームページのオプションの設定するだけでも動きましたけど。 サンプルみたいなロジックの追加をしなくても、なんとかログは出てくるみたいです。 >308 ああ、ゾヌとの共有って俺の方法ですか? ログの共有って言っても、Janeの"dat"と"idx"を、ゾヌ形式の"dat"と"inf"にしちゃう上に ログの保存フォルダもゾヌ形式にしちゃうんで、板の更新とかはJaneだけじゃなく、ゾヌでも 更新しないと動かなくなっちゃいますよ。それでもよければ……って、修正個所を書きたい トコですが、修正個所が多いんで、どこかうぷろーだーがあればソースごとUPします。 でも、ちょっとヘンな修正してて動かなくなってるんで、そこ直してからになりますけど。 あ、ついでにおかしくなってるトコとか、色々見てもらえると有り難いです。 VB厨がDelphiの勉強がてら修正してるだけなんで、ソースは汚いかもしれないですが……。
>>310 あ、わざわざども。
>>306 のレス書いたあとに分かりました。
いやあソースは .pasだけかと思ってたもんで気づかなかった。
313 :
308 :02/11/10 23:29 ID:FEjl32vq
>>310 なんか凄そう
俺のログの共有のやりたいのはですね。
log - 2ch - 板名(例、softwere,hard等) - Date,ini
カテゴリをはずす、フォルダ名を板URLの一番後ろ
http://pc3.2ch.net/win/ならフォルダ名はWinで 外部掲示板はとりあえずlog-Userフォルダに
夜勤の巣なら こんな風に
log - user - 板名(例、2095) - Date,ini
思うにsubject.txtは別々でもOKかな?
jane
1032236701.dat<>2000 VS XP (718)
1021731910.dat<>壁紙スレ (288)
zonu
1032236701<>2000 VS XP (718)
1021731910<>壁紙スレ (288)
Date、iniを共有したいなと
俺も探してやってみます。
また教えてくださいまし。
314 :
293 :02/11/11 02:07 ID:o3mGBENm
>313 今、動くようにしてるんですけど、弄りすぎててなかなか動くようにならない……。 すみません、いまいちよく分らないんですけど、ログをゾヌと完全に共用にするには ゾヌを修正できない以上、Janeで対応するしかなかったので、"dat"、"idx(inf)"、 "ログ保存フォルダ"を完全にゾヌ形式にしちゃってます。 保存フォルダをJane形式にするには、ゾヌが対応しないとダメだと思うんですけど。 ゾヌと同時に使わないなら、ツールでログをコンバートするだけだったんですが。 一応ゾヌのdatも形式は同じなんですけど、改行コードが違うので、コピーしただけだと、 Janeでの再読み込み時にズレが発生してdatが壊れちゃうみたいです。 ゾヌの改行コードは#13#10で、Janeは#10みたいでした。 あと"Date,ini"ってなんの事ですか? "dat"と"idx(ゾヌのinf)"のことですか?
315 :
293 :02/11/11 02:10 ID:o3mGBENm
「外部掲示板」はまだ使ってないのでちょっとよく分らないですが、ログのカテゴリ フォルダを外すだけなら"U2chCat.pas"の下の部分を変えるだけで出来ました。 詳しい方、もし間違ってたり問題がある場合は、指摘してください。 function TCategory.GetLogDir: string; begin result := TCategoryList(categoryList).GetLogDir; //ログのフォルダからカテゴリ名を外す //result := TCategoryList(categoryList).GetLogDir + '\' + Convert2FName(name); end; これは自分が使ってるゾヌの保存フォルダに変えるロジックです。 場合によっては、ここで対応したほうがいいのかもしれないです。 function TBoard.GetLogDir: string; begin if assigned(redirect) then result := redirect.GetLogDir else //改造 ━ CHG-ST 2002/11/02 ━ ログのゾヌ化対応 ━━━━━━━━━━━━━━━━ //LOGの保存フォルダをゾヌ形式(URL形式)にする result := IncludeTrailingPathDelimiter(GetFullPath(Config.LogBasePath)) + IncludeTrailingPathDelimiter(host) + bbs; //result := TCategory(category).GetLogDir + '\' + Convert2FName(name); //改造 ━ CHG-ED 2002/11/02 ━━━━━━━━━━━━━━━━━━━━━━━━━━ end;
316 :
308 :02/11/11 02:59 ID:/y54Ul8K
>>315 >あと"Date,ini"ってなんの事ですか? "dat"と"idx(ゾヌのinf)"のことですか?
Dat、inf とまちがいですね、すみません。
参考にさしてもらっていろいろやってみます。
317 :
293 :02/11/11 12:58 ID:9fM4hD1M
>316 昨日は眠かったんでアンマリ詳しく調べなかったんですが、もし"TBoard"で対応する場合は、 下のロジックで動くみたいです。でも、自分は使わないんで、あんまし詳しくは調べてないです。(^^; "GetFullPath"は無くても動いたんで、もしかしたら、いらないかもしれません。 function TBoard.GetLogDir: string; begin result := IncludeTrailingPathDelimiter(GetFullPath(Config.LogBasePath)) + Convert2FName(name); //ログのフォルダにカテゴリ名を使わない //result := TCategory(category).GetLogDir + '\' + Convert2FName(name); end;
>>317 ありがとうございます。 大変参考になります。
俺はこうしました
ゾヌとjaneのログパスに D:\Program Files\BBSLog\と入れると
一応ログの保存場所が同じになりました。
function TBoard.GetLogDir: string;
begin
if assigned(redirect) then
result := redirect.GetLogDir
else
//result := TCategory(category).GetLogDir + '\' + Convert2FName(name);
result := IncludeTrailingPathDelimiter(GetFullPath(Config.LogBasePath))
+ '2ch' + '\' + bbs;
end;
本当は2ch以外はuserにしたかったのですがとりあえず後回しにしました。
ゾヌ ログパス\2ch\win
jane ログパス\2ch\win
後はinfファイルです。
今度のゾヌとjaneのログ保存形式は多分同じになると思います。
コピーしたけど大丈夫でし。
誰かかちゅとのログ共有Ver.作ってくれないかな。
320 :
293 :02/11/12 01:11 ID:DXnvC0B2
>318
ふ〜、やっと動くようになりました。今更役に立つのか分りませんが、ソースを
>>3 の"Jane UpLoader"にUPしときました。(
>>311 さん。遅れましたが、どうもでした)
基本的なソースしかUPしなかったので、メモリーリークチェック用の「MemCheck 2.0」
とかは
>>305 から落としてください。
あと、「今度のゾヌ」って、もしかして、ゾヌ2ですか!? テスターとかしてるんですか?
あ〜自分もテスターやっとけばよかった。まあ、Delphiの勉強にはなったからいいかな。
あとソースですが、"dat""inf""保存フォルダ"だけでなく、いろいろ改造しちゃってます。
「//改造 ━」で、検索すると改造個所が分ると思います。
「Main.pas」の先頭にも、自分専用メモですが、いろいろ書いてあります。
ただ、改造途中で動作保証は一切出来ませんので、保存用のログを使わないか、バックアップ
してから試して下さい。あと現状、オリジナルでも3つはメモリーリークがでるみたいです。
あと、iniファイル作ったり、修正するのがめんどくさかったので"FormCreate"を直接修正して、
改造モードとかを切り替えるようにしてます。必要ならそこを修正して起動してください。
重要なところは、下の2つです。
//改造 ●ログのゾヌ化対応
JANE_OPERATION_MODE := JANE_OPERATION_MODE_JANE; //Janeモードで運用
//JANE_OPERATION_MODE := JANE_OPERATION_MODE_ZONU; //ゾヌモードで運用
//改造 ●スレ情報読み込み高速化対応
//JANE_LOG_ALLLOAD_MODE := True; //ログフォルダのidx(inf)情報を全て読み込む(オリジナルJane)
JANE_LOG_ALLLOAD_MODE := False; //ログフォルダのidx(inf)情報は読み込まない(高速モード)(いまだ不具合あり!!)
321 :
293 :02/11/12 01:15 ID:DXnvC0B2
Delphi自体、勉強し始めて間もないので少しでもヘンな所とか、いいサンプルとかがあったら 教えてもらえると有り難いです。基本的な文法も解ってないので、変数名・作りがVBモドキです。 今は主に、idx(inf)の読み込みを早くする為に、"U2chBoard"と"U2chThread"を 色々弄り始めてるんですが、コメントが少なくて初心者の俺には追うのが難しい……。 下が、主な改造個所です。 ・起動時の処理修正 (iniとかを修正するのが、めんどくさかった為の手抜き処理) ・ログのゾヌ化対応 (datの改行コードを#10から#13#10にした。オリジナルとモード切り替え可能。……のはず。) ・アニメーションの表示対応 (処理中のアニメーション表示。"Jane2ch.avi"をexeと同じフォルダに入れると再生する) ・スレ情報読み込み高速化対応 (※修正中。ログが沢山溜まると極端に遅くなるので、いろいろ読み込まないように修正。) ・デバッグログの文字数省略 ・メインメニューに「お気に入りに追加」を追加 (ゾヌもどきにする予定でつけたけど、ちょっと使いにくいかも。あとで修正する可能性あり) ・ここまで読んだのゾヌ化対応 (ゾヌのスレ番号クリック時の「ここまで読んだ」の追加と、「ここまで読んだにジャンプ」を スレ欄ツールバーに追加) ・タブの表示位置変更対応 (ゾヌみたいに下に表示した、メインメニューの表示で切り替え可能にした。iniには保存してない) ・ステータスバーの表示非表示切り替え (メインメニューの表示で切り替え可能にしたけど、まだiniには保存してない) ・ポップアップメニューをちょっと改造 (思いつきで作り途中、不必要なメニューを隠して、「▽全メニューを表示」を追加。 iniとかの保存は未対応。非表示項目も現在固定) ・その他修正 (その他、メニューの位置とか、細かいところを、自分好みにいろいろ修正)