■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

monazilla

468 :turbo type D@モナヂラドットオルグ(ワラ :2001/02/28(水) 19:02
モナプロラ今後の予定

TWebBrowser部分
  スクロール機能をつける
  タブを閉じる関数をつける

データ構造
  T2チャンスレッドのメンバーに
  スクロールバー位置
  を追加

ダウソ部分
  WinInetによるファイルサイズ取得関数作成
  ファイルサイズと比較して
  差分ダウソの実現するようにする

全体
  ちょっとくらい使い勝手を意識しろツコトデ
  UIの改善
    →PopupMenuで読み込むのをやめよう。
    →現在読み込んでいる板とスレの表示
  データのIniFile保存


469 :デフォルトの名無しさん :2001/02/28(水) 19:12
>>466
TList クラスを継承は出来るだけやめた方が良いよ。

Delete メソッドや Clear メソッドが公開されているから
バグを作る可能性が大きくなります。

470 :turbo type D@モナヂラドットオルグ(ワラ :2001/02/28(水) 21:00
あらーーー。
せっかくTList継承にしてみたのになあ。

まあ、Has ア に戻すのもたいした手間じゃないけどさ。

そしたら
TNichListを内部で保持しておいたらいいんでしょうか?


471 :書記さん :2001/02/28(水) 22:26
モナプロ〜ラ〜のページ更新しましたー。
ワタクシもまじめに働いてないですよ。

472 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 01:07
あらま、本家とかついてる。うれしいでございます。

ギコナビもすぐクローン化されるんでしょうね。
みなさんマターリガンバリマソ


473 :ななしくん :2001/03/01(木) 10:07
本家のソースをみて感動(´ー`)
WebBrowserのParentの設定方法がわからなかったので
Frameを使ってたのが恥ずかしYo
もうちょっとガンバッテ勉強します。

474 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 10:12
エヘ(w
>>435
を見ておくれ。
Browser.HandleNeededが何で必要なのかは全然知らない(藁

BCBでのやり方は某所で載っているね。

475 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 14:44
>>467のやり方がわかった。
type
 TNichBrowser = class(TWebBrowser)
 private
  FOnCommandStateChange: TWebBrowserCommandStateChange;
  FGoBackEnabled: Boolean;
  FGoForwardEnabled: Boolean;
 public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;

  procedure CommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
  property OnCommandStateChange: TWebBrowserCommandStateChange
   read FOnCommandStateChange write FOnCommandStateChange;
  property GoBackEnabled: Boolean read FGoBackEnabled;
  property GoForwardEnabled: Boolean read FGoForwardEnabled;
 published
 end;

---------------------
constructor TNichBrowser.Create(AOwner: TComponent);
begin
 inherited;
 inherited OnCommandStateChange := CommandStateChange;
end;

procedure TNichBrowser.CommandStateChange(Sender: TObject;
 Command: Integer; Enable: WordBool);
begin
 case Command of
  // GoForwardコマンドの実行許可
  CSC_NAVIGATEFORWARD :
  begin
   FGoForwardEnabled := Enable;
  end;
  //GoBackコマンドの実行許可
  CSC_NAVIGATEBACK :
  begin
   FGoBackEnabled := Enable;
  end
 else

 end;

 if Assigned(FOnCommandStateChange) then
  FOnCommandStateChange(Sender, Command, Enable);
end;
これでGoBackEnabled/GoForwardEnabledプロパティが
実装できる。

ところで
UIWebBrowserのヘルプに
>TWebBrowserを継承すると統合デバッガで不具合が生じます。
とあるが、普通にTWebBrowserを継承して使っているが
特に不具合は出ていない。デバッガをフルに使っていないからかな?
動的生成しているからかも。

476 :デフォルトの名無しさん :2001/03/01(木) 15:02
勉強になります。

477 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 18:14
かちゅ〜しゃの作者さんも来てくれないかなあ。
ソース公開とかどうでもいいから。

478 :デフォルトの名無しさん :2001/03/01(木) 19:11
むこうのかちゅしゃスレ妙に荒れてるからなあ。
直リンして、作者さんといっしょに、厨房がついてこなけりゃいいけど。

479 :書記さん :2001/03/01(木) 22:16
かちゅーしゃスレでは、次回のバージョンアップが済んだら
参加したいな〜って感じの書き込みがあったよね。
ソースの公開はしなくても、ぜひ参加してほしいですよね。

480 :turbotypeD@モナぢら :2001/03/01(木) 23:01
そうそう。
かちゅーしゃってば分割ダウソと直読みをやってるよね。

最終的に表示するのはモナプロラの方がちょっぴり遅いんだけど
かちゅしゃは読み込み時に途中から表示していってたんで
驚いた。

結構地道にコーディングしてたんろなー。

481 :ふみもたたけし as 119 :2001/03/02(金) 01:46
こんなのを作ってみた。
http://desktopgazou.hypermart.net/cgi/gazou/img20010301172929.jpg

とりあえずダウンロード部分を書く気はないので、
2ch抜きタグブラウザから作っていく予定。

ツリービュー・タブ・メニュから板一覧・スレ一覧・スレを
表示できる柔軟なUIにしたい。
推奨環境はAthlon1G、メモリ512MB以上だ(藁

ダウンロード・解析部分のクラスの仕様が固まったら
取り込みたいのでよろしくね > Dax & turbotypeD@モナぢら

2ch表示機能を取り込んだらソース・バイナリ公開するよ。

482 :デフォルトの名無しさん :2001/03/02(金) 07:03
おおお、かちょええ!!

483 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 09:53
すげー。かっちょよすぎ。

ツールバーの画像ってどこから集めているんですか?
すごく標準っぽい画像
オレの使ってるBugBrowserってのにも
似たボタン画像が使われているのだが。

484 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 09:56
ダウソ部分は汎用的にまとめるのは難しいかもしれないけど
何をどうコーディングすればいいのかはわかっているので
データ構造などを決めてくれれば実装は
手伝いますぜ

485 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 16:28
ダウソのこと考えてると
マルチスレッドでどうしたらいいのかとか頭痛くなってきたよ。

486 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 18:53
monazilla掲示板が逝ってるのでこっちに書かせてもらいます。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010302.lzh
今日もアプしたよ。

主な変更は。
キャッシュファイルとWeb上のファイルの日付とサイズが≒なら
キャッシュだけを読むようにしました。

他、UIは少しはましにしたっけな。
あとブラウザから開くPopupMenuもつけました。

スレやレスの解析も間違っていたみたいなのでましにしました。

すげー疲れた。

487 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 18:57
かちゅのように差分ダウソはしていないから遅いのは遅いですね。
欝だ............


488 :かちゅ〜しゃ作者 :2001/03/02(金) 22:38
はじめまして。
やっぱりプログラム板はいいなあ。
全部読めてないので、とりあえず今は足跡だけでお許しを。

489 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/03(土) 01:01
こんにちは、プログラム板には久しぶりですかね。
よろしく、教えてくださいな。

490 :ふみもたたけし :2001/03/03(土) 02:31
連番移動機能(index01.htm->index02.htm)というのを思いついた。
むちゃくちゃ便利であるような気もしたけど、エロサイトくらいにしか使えないか。

>ツールバーの画像ってどこから集めているんですか?
標準のボタンはVisual Studio Enterpriseに付いてる。
それ以外はIE, Office, DelphiIDEからキャプチャ。

>ダウソ部分は汎用的にまとめるのは難しいかもしれないけど
難しいの?
Board2ch見る限りきれいにUIと分離してあるように思えるけど。

ダウンロード・キャッシュ部分をホットゾヌ使うように
改造しちゃおうかな。

>マルチスレッドでどうしたらいいのかとか頭痛くなってきたよ。
よく考えたらマルチスレッドなんていらない気がしてきた。
サーバに負荷かけすぎるからね。
一括更新チェックができればそれで十分。

491 :デフォルトの名無しさん :2001/03/03(土) 06:47
かちゅしゃ、作者ひきこみage?

492 :ヒロユキ@ギコナビ :2001/03/03(土) 13:01
DelphiのTWebBrowserって初期化してくれなくて、コピペがうまく
いかないので、一番下(end.の前)にでも以下の行を追加しよう。
usesにActiveXを忘れずに。

initialization
  OleInitialize(nil);
finalization
  OleUninitialize;


493 :ヒロユキ@ギコナビ :2001/03/03(土) 13:05
>>490
VS.NETのBata版入れたけど、16色の画像しかなかった。
やっぱ、リソースから抜き出すのが手軽なのかな(怒られる?)


494 :デフォルトの名無しさん :2001/03/03(土) 15:20
Glyph画像集〜。DelphiTechより
http://community.borland.com/article/0,1410,25911,00.html
死ぬほどあります。ありすぎます。

495 :ヒロユキ@ギコナビ :2001/03/03(土) 18:38
>>449
>なぜかTAnimeでは開けないの
解決済みかもしれないけど。
アニメコントロールは、非圧縮のAVIじゃないとダメだったとおもう。


496 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/03(土) 19:12
どもども。
>>492 ヒロユキ氏

それは何処に書けばいいのですか?


497 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/03(土) 19:12
>>495 解決してないよ。
非圧縮のAVIに変換する方法がわからないもの。

498 :ヒロユキ@ギコナビ :2001/03/03(土) 19:32
>>496
ギコナビでは、メインフォームのユニットの一番下に書いています。

>>497
無圧縮のほかに、音声も入っているとダメだったと思う。
僕はコレ使ってます。(複数BMP -> AVI)
http://www.vector.co.jp/soft/win95/art/se056311.html


499 :ヒロユキ@ギコナビ :2001/03/03(土) 19:35
>>496
あっ、どっかのメソッドに書くのではないです。
メインフォームのユニットの一番下の「end.」の直前に書けばいいと思います。


500 :フッサール少佐 :2001/03/03(土) 23:05
最近は仕事が忙しくて更新もままならないんですけど、更新してみました。
インデックスはまだまだ構想中。意外と難しい。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/lzh/giko0303.lzh


501 :デフォルトの名無しさん :2001/03/04(日) 17:58
皆さんコード補完にどんなものを登録していますか?
便利そうなのがあったら教えてください。

僕はとりあえずこんなのしかありませんが...
[begin | begin/end]
begin
|
end;

[unit | unitの新規作成]
unit |;
interface
uses
Windows, Classes, SysUtils;
implementation
end.

502 :デフォルトの名無しさん :2001/03/04(日) 18:05
スレ違い。ごめんなさい。
お詫びAAのコメントをまとめてみました

[aa_unit_header | ユニットヘッダ の書き方]
(*
//  ∧  ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< |のソースだモナー
// (    ) \________________________
//  | | |
// (__)_)
履歴
//*)
[aa_func_header | 関数ヘッダの書き方/アロエリーナ風]
////////////////////////////////////////////////////////////
{// 名前:|
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ
ココカラノコードハ:
クワシイセツメイハ:
インスウハ:
コウシン日ワ:  2001/00/00
ホカニ逝ットクコトハ ナシ
聞いてくれてありがと アロエリーナ♪
\________________/
          /
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
[aa_func_header_mona|関数ヘッダの書き方/モナー風]
//
//  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< |
// (    ) \________________________
//  | | |
// (__)_)
//


503 :デフォルトの名無しさん :2001/03/04(日) 19:25
>>502
最高にお節介だが、引数はインスウではなくヒキスウと呼ぶんでは。

504 :デフォルトの名無しさん :2001/03/04(日) 19:38
>>503
わざとでは?(藁

505 :デフォルトの名無しさん :2001/03/04(日) 22:38
なんでも隠語の2ちゃんは♪いつでもいいネタさがしてる♪

506 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 10:28
眠い。

507 :デフォルトの名無しさん :2001/03/05(月) 10:48
バイナリも置いてくれよん。
Delphi持ってないよん。

508 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 11:37
どなたかEZIPやUPXのexe圧縮(と呼ぶのか?)
かけておいてくださらないでしょうか。


509 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 12:48
>>498
だって、圧縮AVIをBMPに展開する方法がそもそもわからない。
....手作業でキャプチャするのはいやだよ。つらいよ。なくよ。

510 :デフォルトの名無しさん :2001/03/05(月) 13:17
>>509
AviUtlあたりで、AVIを読み込んで、書き出すときに無圧縮にすれば
良いと思うけど。

511 :SAGE :2001/03/05(月) 13:47
AVI って IrfanView でバラせませんでしたっけか。>509

512 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 16:59
>>511
ありがとう。

513 :デフォルトの名無しさん :2001/03/05(月) 21:14
見圧縮のAVIアップしました。
さすがにサイズ大きいです。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monagiko_avi.lzh

514 :書記さん :2001/03/05(月) 22:54
Delphi持ってない人の為にバイナリアップしました。

OpenGiko
http://www.geocities.co.jp/SiliconValley-Oakland/9028/bin/opengiko.lzh

Monaplorer
http://www.geocities.co.jp/SiliconValley-Oakland/9028/bin/monaplorer.lzh


515 :フッサール少佐 :2001/03/05(月) 23:38
>>508
圧縮実行ファイルを作るならここらへんかな
>>514
OpenGikoのヤツはboard.iniが無いと動きません。
ソースファイルからモッテくる必要あり。
当然だが、バージョンアップで前のと互換性が無いとか文句言うなよ。
そんなこと考えて作ってないし、だからこそソースのみなのだ。

516 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/06(火) 09:39
つか、モナプロラの方も
ユーザーが使うレベルの完成度に達してないよ(藁

そのあたりは今の所許容してくださいモナー



517 :Dax :2001/03/06(火) 10:36
Hotzonuあぷしました。
まだHTTPかキャッシュからファイルを取ってくるキノーしかないです。
スレッド対応にはしてみたんですがメモリリーキーです。
モナプロラの共通関数ぱくりまくってます。
http://www.geocities.co.jp/SiliconVallery-Oakland/9028/hotzonu0306.lzh

518 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/06(火) 11:18
バンバンパクってくらさい

ところで別スレのDelphiLifeゲムを
アプしたいのですが
よい2ch利用可能アプ板しりませんか?
monazilla.orgにアプするのも筋違いだし
アヤシそうな所にアプしても悪いし。

519 :Dax :2001/03/06(火) 11:41
URL、うそっぱちでした。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0306.lzh

520 :デフォルトの名無しさん :2001/03/06(火) 11:58
>>518
> よい2ch利用可能アプ板しりませんか?
http://doripoke2.port5.com/cgi-bin/source.cgi
ここでどお?
あとはドル猫さんの
http://green.nttec.com/tech/
とか。

521 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/06(火) 17:57
>>520サンクス。

今日は各ペインを表示非表示出来るようにしたり
新しいタブで開くを作ったり
ageレスのカウントを表示してみたりしたけど
小変更なのでアプは見送り…

根本的(とは大げさなんだけど)に
ダウンロードクラスを作らなければ
ダウソ中のキャンセル処理やリロード処理がやりにくい事に
気が付きました。
ボド一覧(ひとつ)・スレ一覧(ひとつ)・レス一覧(複数)
についてマルチスレッドなダウソクラスを作ろうかな。

オレにそんなスキルがあるのかどうかドキドキしてますが
力゙ ソ 八゙ ッ 〒 ミ マ フ、

522 :デフォルトの名無しさん :2001/03/06(火) 18:17
turbo type D さんって何歳?

523 :デフォルトの名無しさん :2001/03/06(火) 18:23
知ってどうする?

524 :ふみもたたけし :2001/03/06(火) 23:12
>517
今日の思いつき@いいかげん。

type
 TDownloadableObject=class
// メモリの効率化・コードの簡略化のためにUrlを二つに分けたほうがよい。
// obj.BaseUrl := 'http://foo/bar/baz/'; // この文字列は複数のインスタンスで使いまわされるはず
// // obj.FileName := 'dat/hoge.dat' // この部分だけインスタンス毎に異なる
// obj.FileName := '../index2.htm' // これもありうる
// obj.Url := 'http://foo/bar/baz/dat/hoge.dat'; // 分けたくなければ
 private
  function GetUrl: String;
  begin
   Result := BaseUrl + FileName;
  end;
 public
  property Url: String read GetUrl write SetUrl;
  property BaseUrl: String read FBaseUrl write FBaseUrl;
  property FileName: String read FFileName write FFileName;

// OnStartDownload, OnEndDownloadはイベントよりvirtualメソッドのほうが適切。
// downloader<->TDownloadableObject(しかし長いな)間の通信にはイベントは適さない
// downloadable<->アプリ間の通信にイベントを使うべき
 protected
  procedure StartDownload; virtual;
  procedure EndDownload; virtual;
  // FLines[Index1..Index2]を差分ダウンロード
  procedure Download(Sender: TObject; Index1, Index2: Integer);

// Downloaderではなくdownloadableが主体になるべきか?。
// ダウンロードのタイミングをdownloadableに制御させるとこんなことができるかも
// Memo1.Lies.Text(FormatDat(NichNet['PC等']['monazilla'].Lines));
 public
  property Downloaded; // 既にダウンロード済み?
  property Downloader;
  procedure Download;
 end;

TDownloader.CreateDownloadableObjectの意図がわからない。
d := Downloader.CreateDownloadableObject;
d.OnXXX := YYY;
Downloader.Download(d)
Boards.Assign(d) // 一覧生成
のようにするってこと?

type
 TBoards = class(TDownloadableObject)
 protected
  procedure EndDownload; override;
  var
   title, url, category: String;
  begin
   html_parser.lines.assign(lines);
   while html_parser.getboardinfo(title, url, category) do
    items.add(category, title, url);
   if(Assigned(OnDownload))
    OnDownload(Self); // アプリへ通知
  end;
 end;
の方がシンプル。継承使うとまずいのかな?


525 :デフォルトの名無しさん :2001/03/07(水) 00:17
とりあえず2ちゃんねるの総通信時間、総ダウンロード文字数、
総書き込み回数・文字数をバージョン情報orスプラッシュで
ユーザーに見せつける機能は必須でしょう(藁

526 :デフォルトの名無しさん :2001/03/07(水) 01:29
>>525
いいねそれ(藁

527 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 09:44
いくつか聞かれるとは...何の意図があるのだろう。
なんか怖いよ。
もしかして
「精神年齢低そー」とか思われてる?(TДT)


528 :デフォルトの名無しさん :2001/03/07(水) 14:46
>>527
太った男性は、好きですか?
とか聞かれるよりマシ(;´Д`)

529 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 14:55
>>528
嫌すぎ!(;´Д`)
チンコ萎える

530 :デフォルトの名無しさん :2001/03/07(水) 15:36
で、実際のところ何歳?

531 :デフォルトの名無しさん :2001/03/07(水) 15:55
わーい、バイナリアップされてるー。
これで参加できるぞー。
使うだけだけどー。

532 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 16:08
>>530
何歳がいいですか?

この際75歳って事にでもしましょうか。(藁

533 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 16:14
75歳じゃチンコ萎える感覚もわからんだろうな。
いや、そんな話どうでもいいよ。全く!

それよりダウンロードのやり方について考えてくれない?
全然思い浮かばない。

一般的なFTPソフトってどうやってダウソして
途中キャンセルとか実装してんだ?
簡単に概念だけ説明してくれる人キボンヨ

ダウンロードアイテムを作成して
それをリスト管理しているのかな。


あと、

太った男性は嫌いです。
オパイの大きい女性は好きです。
パイパイの小こい女性も好きです。
・・・・・・・・・・・・・・・・・・・・・・・なーに言ってんだか。

534 :デフォルトの名無しさん :2001/03/07(水) 18:45
>>533
>一般的なFTPソフトってどうやってダウソして
>途中キャンセルとか実装してんだ?
HTTPにしろ、FTPにしろ、最終的にはsocketのreadになるはず。
そのsocketに対してタイムアウト付きでselectして、読み込み可能だった
ら(IPのバッファにデータが届いた)ら1バイト読み込む。タイムアウト
したらそのまま。そして、キャンセルフラグ(GUIのボタンが押されたら立てる)
が立ってるか、最後まで読み込んだら終了。
当然だが、GUIのメッセージ処理スレッドとダウンロードスレッドは別。
タイムアウトを1秒にすれば、1秒単位でキャンセルできる(キャンセル
ボタンを押した後、最大1秒待てばキャンセルされる)。

うまく説明できてないと思うけど、だいたいこんな感じ。



535 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 19:20
>当然だが、GUIのメッセージ処理スレッドとダウンロードスレッドは別。

この概念が頭になかったから
すごい頭がいたくなってきたよ。

でも何とかなるかも。


536 :デフォルトの名無しさん :2001/03/07(水) 20:14
スレッドは面倒だぞ。
データの整合性が乱れないように気をつけないと。


537 :Dax :2001/03/07(水) 22:08
>524
れびゅーThanx
TDownloader.CreateDownloadableObject は意味無しでした。
あと、スレッド系の処理の一部がテスト中のままでした。
DownloadableObjectを誤解してたかも。
わたしはこう考えてました。
これは UI アプリケーションのコード。

proc Button1Click;
begin
DownloadableObject.URL := '板一覧のURL';
Downloader.StartDownload ( DownloadableObject );
end;

proc OnEndDownload;
begin
Board.Parse( TDownloadableObject(Sender).Lines.Text );
ツリーなどにボード一覧をつくる処理
end;

んー、なんかイケてないですねー、
やっぱり板クラスなどは TDownloadableObject継承がスマートですね。
それから処理中断をどうやって実装しようか悩んでます。

538 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 11:13
>>536
うーん、そうだよね。
データの整合性という点では
スレ一覧でTNichBoardという1データに
リスト形式でTNichThreadデータを複数所有させていて

実際にブラウザで見る段階で新しいTNichThreadにAssignして
コピーしてから見るようにしている。

更に
昨日実装したんだけど
ブラウザの履歴データもTNichThreadをAssignでコピーして
保持しているんだ。

なぜそんな事をしているかというとスレ一覧が更新されたとき
コピー元のTNichThreadが破棄されてしまうから
ポインタで参照しておくわけにいかないの。

メモリ効率は悪いよなあ...メモリ食いが致命的にならなきゃいいけど。
その程度のメモリ使用はOKかなと考えてる。

Dax氏の言うように中断処理も難しいぜ。


539 :デフォルトの名無しさん :2001/03/08(木) 15:10
>>538
スレデータも板データもリファレンスカウンタで管理すれば?


540 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 16:48
>>539
それ知らない。どうやるの?

Max関数って使ってよい?

541 :デフォルトの名無しさん :2001/03/08(木) 16:55
>>540
Mathに含まれてるやつやね。
MonaUtilsに含ませとけばどうでせう。
http://green.jbbs.net/computer/bbs/read.cgi?BBS=479&KEY=983891233&END=100

542 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:05
書記さん、WinInetの続きです。
追加でpage9.htmlとpage14のものお願いします。

元ページのリンク先が飛び飛びなのは明らかに必要の無い
Tipsは無視してるから。
page9.htmlなんかも必要ないっつたら必要ないよね。
page10.htmlは不必要
page11.html/page13.html/page16.hemlは
monazillaには必要ないのでパスしてます。
page12.html/page15.htmlはいずれ必要

だれか書いてくれんかい?


//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page9.html
//より移植
//プロキシサーバーを使用する。
 hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PROXY, 'proxy:8080', nil, 0 );
//プロキシサーバーを使用するがローカルアドレスには使用しない
 hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PROXY, 'proxy:8080', '<local>', 0 );
-----------------------------------------------------------------------
//読み取りポイントを設定する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page14.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
 hSession: HINTERNET;
 hService: HINTERNET;
 lpBuffer: array[0..1024+1] of Char;
 dwBytesRead: DWORD;
begin
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
 hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if Assigned( hSession ) then
 begin
  hService := InternetOpenUrl( hSession, PChar(Edit1.Text), nil, 0, 0, 0);
  if Assigned( hService ) then
  begin
   InternetSetFilePointer( hService, 100, nil, FILE_BEGIN, 0);
   //↑最初のものにここが増えているだけ 100バイト目以降を読んでいます
   while true do
   begin
    dwBytesRead := 1024;
    InternetReadFile( hService, @lpBuffer, 1024, dwBytesRead );
    if dwBytesRead = 0 then break;
    lpBuffer[dwBytesRead] := #0;
    Memo1.Lines.Add( lpBuffer );
   end; //while
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;

543 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:31
テスト

544 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:34
スマソ差分ダウソテスト

545 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:38
>>540-541
Integerだけでいいので
よろしくたのみま

>>542
の差分ダウソ全然スピードがでなくてダメダメだ!


546 :デフォルトの名無しさん :2001/03/08(木) 17:57
>>540 リファレンスカウンタ
TNichThreadやTNichBoardに自分が何回参照されてるかのカウンタ
をつけておき、Assign(←Delphiをまったく知らないが文脈からDeepCopy
のことと推測した)するんじゃなくて、カウンタを1増やす。
で、オブジェクトが不要になったら破棄するんじゃなくて、カウンタを1減らす。
カウンタが0になったら、参照されてないってことだからオブジェクトに自殺させる。

Pascalにもポインタはあったと思うのでたぶんできると思う。

547 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:57
>>542 サンクスコ

書記さん更新はやすぎだよ(藁

548 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 18:05
>>546
はーー、そんな方法があるんだ!かしこいなー
誰が考えたんだ?

俺が知らんだけ?常識?

Assignはメンバーとか全部のコピーです。から
DeepCopyと同じかな。あまりしりませんが、

簡単なサンプルキボン.C++でもいいよぉ
どこかのwebペジに載ってないでせうか?

549 :デフォルトの名無しさん :2001/03/08(木) 18:54
>>548
VCLのソース参照(藁
グラフィックス系のオブジェクトは、参照カウンタもってて、
Assignしてもその時はコピーされなかったはず。

550 :デフォルトの名無しさん :2001/03/08(木) 19:09
>>545
いいだしっぺが実装かい!おそろしいスレだ…。
まあつけておいたけど。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/MonaUtils20010308.zip

しっかしTipsといいこのスレはためになるなぁ

551 :デフォルトの名無しさん :2001/03/08(木) 20:29
>538
TNichObjectのインスタンスの個数・寿命は
フォーム上のコンポーネントに「完全に」一致しているから、
TComponent.Tagがインスタンスの生成・廃棄の責任を持つようにしたら
いいんじゃない?
TreeView1.Tag = LongInt(TNichBoards.Create);
TNichBoards(TreeView1.Tag).Download;
とかね。

552 :turbotypeD@モナぢら :2001/03/09(金) 01:04
>>550サンクス
自分で参加してこそ、ためになるさ、きっと。

>>551
スマソ、ちょっとそれは理解できない。
というか意味がわからない。ドユコト?

リファレンスカウンタっていうのはつまるところ
ガーベージコレクションつ奴なんだね?
違った?

それにしてもそれをやると
かなりデータ構造やらの改造が必要になるので
オレ的には当面は先送りしたいと思います。

メモリ効率化よりも
きちんと動作するものを作らないといかんかなと。

553 :turbo type D :2001/03/09(金) 12:05
スンマソン頼みがありまする。

WinInetのダウソ時間で
542のサブンダウソするコードpage14と
ここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/wininetdel.html
のpage2/page3とのダウソ時間の短縮の効果の
大まかな測定をどなたかやってはくださいませんか。

現在、レス表示についてサブンダウソしているが
オレの環境では、それが氏ぬほど遅い。
サブンダウソの意味がわからない。
なんでだ


関係ない話だけどpage4のやり方だと
ダウソの途中キャンセルが出来ないようなので
使えない。

554 :デフォルトの名無しさん :2001/03/09(金) 21:43
ギコナビα010のバージョン情報注目ー!!

555 :デフォルトの名無しさん :2001/03/09(金) 21:57
16x16(を並べた)256色ボタン画像つくりました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/16x16x256_01.lzh

556 :turbotypeD@モナぢら :2001/03/09(金) 22:09
>>書記さん
モナプロラページ作成、サンクスーーー

>>555
d(・∀・)イィ

557 :turbotypeD@モナぢら :2001/03/09(金) 22:27
キコナビα010コンパイル成功。

ギコナビもスレッドつかってんですなー。
モナプロラもスレッド化&ダウソ部分のコーディングは
今のところ順調。
思ったとおりにできそうっす。

プロラRさんにもいいのが提供できそうだ。

558 :デフォルトの名無しさん :2001/03/10(土) 04:06
ギコナビさんの TBBS2ch でなんでメモリリークするのか解らん。
カテゴリ数+1?っぽいので見つけるのは楽だろうと思ったらそうでもない…
う〜消化不良だ、だれか潰してくれ〜。

559 :turbotypeD@モナぢら :2001/03/10(土) 17:21
今、CATVでLAN接続なんだけど
ギコナビがWebデータを全く読んでくれない。

IEなどはプロキシ使用しないになってるんだけど。
ギコナビでも当然同様に設定している。

560 :ななしくん :2001/03/10(土) 22:56
本家すごい勢いだネ。
忙しくってついていけないよ。(゚ε゚ )トホホ・・

561 :デフォルトの名無しさん :2001/03/11(日) 00:46
Monaplorer,
bbstable.htmlも配布してぇ〜

562 :デフォルトの名無しさん :2001/03/11(日) 13:09
>>560プロラRさんですか?
なにせ、仕事してないからね。

誰か、就職先斡旋してくんない?(藁

ところで、昨晩いいダウソクラスユニットができましたぜ旦那!

こんな感じの奴。
キャッシュを使う/使わない
差分ダウソする/しない
ダウソ途中でイベント発生、イベント内でApp.ProcessMessageを
かまして、キャンセルフラグ立てたり可能
ダウソ中のデータもそのイベントに随時送信

そのクラス単体でも使えるダウソユニットになるけど
(というか現状のモナプロラはこれと似てる)

それ自体をスレッドでぐりぐりまわす予定。
スレドの方はまだミカンね。

>>561
ラジャーブラジャー
つか、起動時に板一覧は表示するように変えときます。

時間オッパイいや、イッパイある
Del厨学生なんかは参加してないの?
仕事人ばかりなのかな。

563 :turbo type D :2001/03/11(日) 13:12
>>562
名前忘れてた。

564 :>562 :2001/03/11(日) 13:37
>誰か、就職先斡旋してくんない?(藁
履歴書にこのスレとmonazilla.org(藁のURLを
書いとけば一発で (以下略


565 :デフォルトの名無しさん :2001/03/11(日) 18:18
確かに一発(略

566 :turbo type D :2001/03/11(日) 18:32
>>564
一発で落ちるんだろ。。それやだ。(TДT)ゴルァ

567 :デフォルトの名無しさん :2001/03/11(日) 18:43
>一発で落ちるんだろ
そんなことないんじゃない?

オープンソースプロジェクトに参加する動機の一つに
名前と技術力をアピールすることもあるみたいだし。

ちゃんとしたものを仕上げれば、
履歴書に書くことがプラスに働くと思うんだけど...

316KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30