WindowsInstaller に WiX はいかがですか~
先月Codezineに書いた「時間のかかる処理で「処理中」を表現する」の 前編 がなぜか再びランクインしてます。一か月もたつのにw
どういう集計でランキングを図ってるのかわからんのですがw
ちなみに、後編のPVが高いなら、続編でインジケータ動かすとか考えてたんですが。。。後編のPVは前編に比べるとあんまり高くないんですよねーw
みんなスレッド処理とかいらねーよってことなのかなぁ?ま、市販でもやってなければ多種多様な環境で。。。とか少しでも高速に。。。とか関係ないんだろうなぁw
投稿日時 : 2010年8月24日 16:30
私個人としては後編こそしっかり読んで欲しいんですけどねぇ。 確かにメッセージループを挟み込むと言う手法は簡単ですし、直感的だと思います。 記事の中でも触れられているように処理の途中にメッセージループを挟み込んでしまうとそこで処理して欲しくない処理まで処理されてしまうケースがあります。 これに関してはWM_QUITだけに限りません。 メッセージループを挟み込んでしまう事による不都合をきちんと理解した上で使い分けるのであれば良いのですけれど、やり方が簡単なだけにこのやり方に頼り切ってしまうケースが結構あるように感じます。 元々、ウインドウズのフレームワーク自体はメッセージループを一つだけ持つ構造を基本としているはずなので私個人としては独自にメッセージループを挟み込む手法は勧めたくないというのが本音です。 やろうと思えば、メッセージループを挟み込まず、スレッドも使わないで見た目、並列に処理しているように見せかける事は出来るのですけれど、これだとかなり面倒な事をしないといけないですからねぇ。 簡単な実装で済ませたいと言うのはわかるのですけれど。
後編こそしっかり読んでほしいですね。 でも、わずか1週間程度しか違わないの後編のPVは前編の6割程度。。。 まぁ、拙い文章なので読んでもらえるだけでも十分ありがたいのですが。<次につながるしねw TechEd終わったら、インジケータ付きとかそういう記事書くかなぁ? MFC使えば面倒な部分は肩代わりしてくれるしw 確かに同時アクセスとかは考えないとだけど、待機しちゃうならその辺あんまり影響ないってみんな知らないのかなぁ???
結局、何処までユーザーフレンドリーにするかと言う話なんですけどね。 経過表示はするけれど、中断はさせない。 処理が終了するまではアプリも終了できない。 そういう仕様にするのであれば、そこまで大変ではないのですし。 とは言え、一度実装パターンを掴んでしまえば、 そこまで敷居の高い物だとは思いませんけどね、マルチスレッドって。 マルチプロセスだともっと面倒ですし。 マルチスレッドならデータのやり取りするだけならグローバルに変数を置くだけでできますから。 安全を考えるならクリティカルセクションを使った共有データクラスを作ってそのインスタンスをグローバルに置く方が良いですけれどね。
Powered by: Copyright © とっちゃん