952 :
937:2010/01/02(土) 17:03:07
なるほど、制御が来ないが正常な動作なのか
//〜処理〜// を別スレッドにすれば解決なのかな
>>950 どこがどう間違ってるのか分からない
指摘してもらえると助かる
> ウィンドウプロシージャで全部解決
これがそもそも馬鹿
だからどこが間違ってるんだよw
ウィンドウプロシージャで全部解決というのが間違ってます。
これが理解できないならWin32を勉強しなおしましょう。
一度MVPが作ったソフトを見てみたい
パスとファイルの区別つかなくてウィンドウプロシージャを分ってない人がどういうソフトを作ってるのか興味がある
基本的に全ての処理はウィンドウプロシージャからぶら下げるんじゃなかった?
だから無限ループを作ったりするとメッセージ処理が止まって操作がきかなくなる
何のためにスレッドがあると思ってんだこの馬鹿
だから別スレッドで処理する必要が出てくるから同期とかいろいろ面倒になる
それを使わない方法もあるんだけど(というか設計上はそっちが本命だったはず)
それでもウィンドウを掴むぐらいでメッセージ処理が止まっちゃったら
リアルタイムっぽく動いてほしいプログラムは困るよねってこと
> それを使わない方法もあるんだけど(というか設計上はそっちが本命だったはず)
間違いです
スレッドを使うのが本命です
ウィンドウプロシージャではGUIとしての処理だけを行い、それ以外の重い処理は別スレッドで行う
Win32の常識だが…
WinSock2の非同期ソケットを調べていてそう感じたんだが……
例外かな?
一応Microsoft側の視点てことで
ホント何も分かってないんだな
だから別スレッドは使わないでメインスレッドオンリーという前提では
解決できない問題だよねって言いたいわけだが……
> メインスレッドオンリーという前提
だーかーらー
こんな前提がおかしいんだよ
Win3.1で開発してるのか?
スレッドを使いこなせない馬鹿はレスしなくていいから。
前提がおかしいかどうかを決めるのは君じゃないだろ
それが与えられた条件で可能かどうかを判断するのが技術者ってもんだ
シングルスレッド用のCランタイムが廃止されて久しいっていうのに
未だにシングルスレッドに拘るバカって何なの?
でそんな前提でやらなきゃいけない事ってあるんですか
VB6ユーザーでしょ
>>971 だから条件を決めるのは君じゃないってば
>>974 じゃあ誰が条件を決めるのさ?
相変わらず論点を逸らそうと必死だね
私はスレッドが使えませんのでシングルスレッドが絶対条件です
ってか?www
かっけーw
MVPに構うなよお前ら
Microsoft側の視点ではGUI以外の処理は別スレッドで行うことになってます
ソースがあるといいな
Raymond Chennのブログでもいい
自分のはそう感じただけだから
> メインスレッドオンリーという前提
> ウィンドウプロシージャで全部解決
これが馬鹿だって言ってるのにMVPだけあって何もわかってないみたいだね
罵るためだけに意見も論点を曖昧にして無駄にスレをのばしていくいつものパターン。
罵り合いの果て、結局何の話をしているのか自分でも分からなくなってくんだろう。
論点を曖昧にするのはMVPだけですが何か?
とりあえず罵り合いをしている人間とは別人というのを宣言して、
>>937の
処理のところで本当に処理をするのはそもそもの誤り。
メッセージループ中では速やかにメッセージを処理するだけで、
定期的に何らかの処理をしたいのであればタイマーメッセージを使う。
メッセージとして処理するには重いのであれば、別スレッドを使う。
ただしGUI以外の処理を別スレッドにするかどうかは内容次第。
ただそれだけの話なのに結論を引き延ばしてグダグダやっても意味がないだろ。
もちろん
>>986に書いた内容も異論が出てくるだろうけど、
自分の意見をはっきりさせずにあれが間違いだ、分かっていないと、
グダグダやることにいったい何のメリットがあるんだよ?
これが正しいと思うのならはっきり根拠と正確な内容を書けばいいだけだろ。
延々とくだらないやりとりを続けて、いったい何がしたいんだ?
MVPの方がまともそうだけどな。
新年早々自演ですか
どうやら俺様の勝利で終了のようだな
>これがあるからウィンドウプロシージャで全部解決というわけにはいかなくなるんだよ
そもそもこれが間違いで、
>その結果処理を別スレッドに分散させざるを得なくなり
これが正しいWin32アプリの在り方
>処理の一元化に失敗してプログラムの構造が複雑化するわけ
これはキミの技量が足りないだけ
というだけの事でしょうが
何をウダウダ言ってるんだ?
とりあえずMVPがスレッドすら使いこなせない素人なのはわかった
>>948 GetMessage(&msg, NULL, 0, 0);
switch (msg.message)
{
case MM_WOM_DONE:
m_waveOutDev.UnprepareHeader(pWaveHdr);
...
m_waveOutDev.WriteHeader();
...
break;
}
メッセージがディスパッチされないため、サウンド再生が停止する不具合が起こる。
>>994 モーダルループを理解していればそのような馬鹿な発言はしません。
理解してるわけないだろ
モーダルループを自分で作ったことがあるプログラマなら理解してるはずなんだが
あと3スレで解決しろよ
>>988 なにか被害妄想が酷くないか?
自分に意見する人間は全部同一人物じゃないの心の平穏が保てないわけじゃあるまい。
>>995 それがグダグダの原因だと言っているんだよ。
「理解していれば」ではなく、自分の見解をはっきりさせない限り、無駄に長引くことになるだけ。
自分の意見に自信があるなら、きっちり説明して一刀両断にすれば終わる話だろ。
スレッドが分かりません
モーダルループが分かりません
素人はレスするなよ……
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。