[リストへもどる]
一括表示
タイトル巡回フォルダ・データの構成(?)
記事No45
投稿日: 2005/11/28(Mon) 10:49
投稿者うぇいく
構成というものなのかどうか微妙なのですが・・・・OTN-JP用のポイント履歴
のExtensionを作成しようとしている際にこういった形式にしたらよさそうだ
 となったので、CMN本体的にはどうかな と。

まず、巡回対象となる情報は、
・巡回対象のデータは1つしかない。
・ポイントの増加・減少の履歴であり、発言単位での管理には向かない。
 ※しいていえば、1要件=1発言としてずらずら取り込むとか。
  もともと、個々の発言に大きな意味はなく、期間単位での集計結果に
  に意味があるデータ。
・総合計の表示がほしい(過去に受信した情報が必要)
・月集計、年集計など、各集計がほしい・・・ような気がする。

そこで、いろいろ考えた結果、以下のように取る込む案を考えました。
・巡回はFolderStartにて行う。
 ※排他取った上でBBSStartでもよいんですが・・・大変そうなので。
・巡回したデータは、独自ファイル(今回はcsv)に保存する。
・上記より、巡回状態の設定をフォルダプロパティで行う。
・掲示板設定では、独自ファイルの「見せ方」を指定する。
 たとえば、年−月でツリーにして、要件体の発言を生成する とか。
・結果として、1つのフォルダ(=実体)内に複数の掲示板(=View)を
 定義すると、見え方の違う複数のViewを持つことも出来る?

こういう実装は、どんなもんでしょうか。

これを発展させると、
・フォルダ設定で巡回対象を指定。
・掲示板設定で、振り分けルールを指定。
とか、いろいろ遊べそうではあるんですが。
# メールアカウントを巡回させるなら、この形式だとよさそうです。内部
# 形式としてmboxにして保持する と。そうすれば、巡回結果に再アクセス
# できない という何かとネックになる部分も解消できます。
-- CMN v0.50β --

タイトルRe: 巡回フォルダ・データの構成(?)
記事No46
投稿日: 2005/11/29(Tue) 00:47
投稿者DECO
うぇいくさん、こんにちは。

>こういう実装は、どんなもんでしょうか。

特に問題ないような・・・。

DECO

タイトルRe2: 巡回フォルダ・データの構成(?)
記事No71
投稿日: 2006/03/29(Wed) 09:48
投稿者うぇいく
 DECOさん、こんにちは。

 ざっと作ってためしたのですが、以下の関数がFolderStartでは思ったように動かない・・・ということはないでしょうか?
・cmnCheckExit()
 常に0?
・cmnWebRequest()
 動くけど、lpStringが表示されない?

詳細はまだこちらでも調査中です。
-- CMN v0.50aβ --

タイトルRe3: 巡回フォルダ・データの構成(?)
記事No72
投稿日: 2006/03/30(Thu) 04:13
投稿者DECO
うぇいくさん、こんにちは。

> ざっと作ってためしたのですが、以下の関数がFolderStartでは思ったように動かない・・・ということはないでしょうか?
>・cmnCheckExit()
> 常に0?

FolderStartでは常に0となります。
cmnCheckExit()は巡回中に中断するかどうかを判断するのですが、FolderStartは実際の巡回(掲示板の巡回)が開始する前なので、中断状態を認識できないのです。

>・cmnWebRequest()
> 動くけど、lpStringが表示されない?

これもFolderStartでは表示されないです。
これは表示できた方がいいと思うのですが、ちょっと厳しいっぽいです・・・。

DECO

タイトルRe4: 巡回フォルダ・データの構成(?)
記事No73
投稿日: 2006/03/30(Thu) 08:50
投稿者うぇいく
 こんにちは。

 そうすると、MultiThread=FALSEにして、実巡回は最初の掲示板を処理する際に行うのが良さそうですね。
# 意外と、FolderStart/Startは使いどころが無い・・・Endは最終的なリソースの回収に使えるんですけど(クラス変数の場合)。
-- CMN v0.50aβ --

タイトルRe5: 巡回フォルダ・データの構成(?)
記事No74
投稿日: 2006/03/30(Thu) 12:55
投稿者DECO
うぇいくさん、こんにちは。

実巡回は掲示板処理で、ということでお願いします〜。

DECO

タイトルRe6: 巡回フォルダ・データの構成(?)
記事No75
投稿日: 2006/04/04(Tue) 18:03
投稿者うぇいく
とりあえず、完成(otnjp_point)。

1.DllEntryでDllのロード時にCriticalSectionを確保しておいて、
2.FolderStartで、フォルダ名をキーに管理テーブルへエントリーを追加し、
3.BBSStartで、管理テーブルのエントリを参照し、未処理だった場合には、実データを取得して管理テーブルへ処理済を設定し、
4.FolderEndで、管理テーブルのエントリーを削除し、
5.DllEntryでDllのアンロード時にCriticalSectionを開放する。

※CriticalSectionは、管理テーブルの構造が変る(追加・削除)と、ツリーをたどっての検索中に使用。

ようにしてみました。管理テーブルのためのメモリは、cmnの動作と切り離しておけないといけないので、HeapAlloc。

なんとなく、うごいているよーです。
-- CMN v0.50aβ --

タイトルRe7: 巡回フォルダ・データの構成(?)
記事No77
投稿日: 2006/04/06(Thu) 14:27
投稿者DECO
うぇいくさん、こんにちは。

>とりあえず、完成(otnjp_point)。

おめでとうございます☆

>なんとなく、うごいているよーです。

大丈夫でしょう。(^O^)

DECO