Win32API質問箱 Build84

このエントリーをはてなブックマークに追加
952937:2010/01/02(土) 17:03:07
なるほど、制御が来ないが正常な動作なのか
//〜処理〜// を別スレッドにすれば解決なのかな
953デフォルトの名無しさん:2010/01/02(土) 17:10:42
>>950
どこがどう間違ってるのか分からない
指摘してもらえると助かる
954デフォルトの名無しさん:2010/01/02(土) 17:54:59
>>949=>>953=日本語が理解できてない馬鹿
955デフォルトの名無しさん:2010/01/02(土) 17:58:07
> ウィンドウプロシージャで全部解決
これがそもそも馬鹿
956デフォルトの名無しさん:2010/01/02(土) 18:03:50
だからどこが間違ってるんだよw
957デフォルトの名無しさん:2010/01/02(土) 18:05:51
ウィンドウプロシージャで全部解決というのが間違ってます。
これが理解できないならWin32を勉強しなおしましょう。
958デフォルトの名無しさん:2010/01/02(土) 18:08:08
一度MVPが作ったソフトを見てみたい
パスとファイルの区別つかなくてウィンドウプロシージャを分ってない人がどういうソフトを作ってるのか興味がある
959デフォルトの名無しさん:2010/01/02(土) 18:10:38
基本的に全ての処理はウィンドウプロシージャからぶら下げるんじゃなかった?
だから無限ループを作ったりするとメッセージ処理が止まって操作がきかなくなる
960デフォルトの名無しさん:2010/01/02(土) 18:17:31
何のためにスレッドがあると思ってんだこの馬鹿
961デフォルトの名無しさん:2010/01/02(土) 18:23:55
だから別スレッドで処理する必要が出てくるから同期とかいろいろ面倒になる
それを使わない方法もあるんだけど(というか設計上はそっちが本命だったはず)
それでもウィンドウを掴むぐらいでメッセージ処理が止まっちゃったら
リアルタイムっぽく動いてほしいプログラムは困るよねってこと
962デフォルトの名無しさん:2010/01/02(土) 18:25:22
> それを使わない方法もあるんだけど(というか設計上はそっちが本命だったはず)
間違いです
スレッドを使うのが本命です
963デフォルトの名無しさん:2010/01/02(土) 18:29:03
ウィンドウプロシージャではGUIとしての処理だけを行い、それ以外の重い処理は別スレッドで行う

Win32の常識だが…
964デフォルトの名無しさん:2010/01/02(土) 18:33:47
WinSock2の非同期ソケットを調べていてそう感じたんだが……
例外かな?
965デフォルトの名無しさん:2010/01/02(土) 18:39:17
一応Microsoft側の視点てことで
966デフォルトの名無しさん:2010/01/02(土) 18:42:42
ホント何も分かってないんだな
967デフォルトの名無しさん:2010/01/02(土) 18:52:59
だから別スレッドは使わないでメインスレッドオンリーという前提では
解決できない問題だよねって言いたいわけだが……
968デフォルトの名無しさん:2010/01/02(土) 18:55:42
> メインスレッドオンリーという前提
だーかーらー
こんな前提がおかしいんだよ
Win3.1で開発してるのか?
969デフォルトの名無しさん:2010/01/02(土) 18:59:11
スレッドを使いこなせない馬鹿はレスしなくていいから。
970デフォルトの名無しさん:2010/01/02(土) 18:59:12
前提がおかしいかどうかを決めるのは君じゃないだろ
それが与えられた条件で可能かどうかを判断するのが技術者ってもんだ
971デフォルトの名無しさん:2010/01/02(土) 19:01:35
シングルスレッド用のCランタイムが廃止されて久しいっていうのに
未だにシングルスレッドに拘るバカって何なの?
972デフォルトの名無しさん:2010/01/02(土) 19:01:44
でそんな前提でやらなきゃいけない事ってあるんですか
973デフォルトの名無しさん:2010/01/02(土) 19:02:25
VB6ユーザーでしょ
974デフォルトの名無しさん:2010/01/02(土) 19:04:10
>>971
だから条件を決めるのは君じゃないってば
975デフォルトの名無しさん:2010/01/02(土) 19:08:03
>>974
じゃあ誰が条件を決めるのさ?
相変わらず論点を逸らそうと必死だね
976デフォルトの名無しさん:2010/01/02(土) 19:09:30
私はスレッドが使えませんのでシングルスレッドが絶対条件です
ってか?www
977デフォルトの名無しさん:2010/01/02(土) 19:10:33
かっけーw
978デフォルトの名無しさん:2010/01/02(土) 19:12:38
MVPに構うなよお前ら
979デフォルトの名無しさん:2010/01/02(土) 19:14:39
>>975
論点をそらそうと必死なのはそっちだろ
主張は>>949=>>961=>>967に書いたとおり
>>952で質問自体は解決してしまってるけど>>950が何を言いたいのかにちょっと興味があっただけ
分かってないことはまだまだ多いし
980デフォルトの名無しさん:2010/01/02(土) 19:16:28
Microsoft側の視点ではGUI以外の処理は別スレッドで行うことになってます
981デフォルトの名無しさん:2010/01/02(土) 19:18:38
ソースがあるといいな
Raymond Chennのブログでもいい

自分のはそう感じただけだから
982デフォルトの名無しさん:2010/01/02(土) 19:19:31
> メインスレッドオンリーという前提
> ウィンドウプロシージャで全部解決

これが馬鹿だって言ってるのにMVPだけあって何もわかってないみたいだね
983デフォルトの名無しさん:2010/01/02(土) 19:26:32
>>937のソースからそう判断したわけだが
984デフォルトの名無しさん:2010/01/02(土) 19:30:23
罵るためだけに意見も論点を曖昧にして無駄にスレをのばしていくいつものパターン。
罵り合いの果て、結局何の話をしているのか自分でも分からなくなってくんだろう。
985デフォルトの名無しさん:2010/01/02(土) 19:36:08
論点を曖昧にするのはMVPだけですが何か?
986デフォルトの名無しさん:2010/01/02(土) 19:36:52
とりあえず罵り合いをしている人間とは別人というのを宣言して、

>>937
処理のところで本当に処理をするのはそもそもの誤り。
メッセージループ中では速やかにメッセージを処理するだけで、
定期的に何らかの処理をしたいのであればタイマーメッセージを使う。
メッセージとして処理するには重いのであれば、別スレッドを使う。
ただしGUI以外の処理を別スレッドにするかどうかは内容次第。

ただそれだけの話なのに結論を引き延ばしてグダグダやっても意味がないだろ。
987デフォルトの名無しさん:2010/01/02(土) 19:41:17
もちろん>>986に書いた内容も異論が出てくるだろうけど、
自分の意見をはっきりさせずにあれが間違いだ、分かっていないと、
グダグダやることにいったい何のメリットがあるんだよ?

これが正しいと思うのならはっきり根拠と正確な内容を書けばいいだけだろ。
延々とくだらないやりとりを続けて、いったい何がしたいんだ?
988デフォルトの名無しさん:2010/01/02(土) 19:45:19
>>949=>>961=>>967=>>986=>>987
勝手にまとめるなよ

少しは自分の発言に責任持ったら?

> メインスレッドオンリーという前提
> ウィンドウプロシージャで全部解決
989デフォルトの名無しさん:2010/01/02(土) 19:46:58
MVPの方がまともそうだけどな。
990デフォルトの名無しさん:2010/01/02(土) 19:47:39
新年早々自演ですか
991デフォルトの名無しさん:2010/01/02(土) 19:51:41
どうやら俺様の勝利で終了のようだな
992デフォルトの名無しさん:2010/01/02(土) 19:52:23
>これがあるからウィンドウプロシージャで全部解決というわけにはいかなくなるんだよ
そもそもこれが間違いで、

>その結果処理を別スレッドに分散させざるを得なくなり
これが正しいWin32アプリの在り方

>処理の一元化に失敗してプログラムの構造が複雑化するわけ
これはキミの技量が足りないだけ

というだけの事でしょうが
何をウダウダ言ってるんだ?
993デフォルトの名無しさん:2010/01/02(土) 19:57:02
とりあえずMVPがスレッドすら使いこなせない素人なのはわかった
994デフォルトの名無しさん:2010/01/02(土) 19:58:16
>>948
GetMessage(&msg, NULL, 0, 0);
switch (msg.message)
{
case MM_WOM_DONE:
m_waveOutDev.UnprepareHeader(pWaveHdr);
...
m_waveOutDev.WriteHeader();
...
break;
}
メッセージがディスパッチされないため、サウンド再生が停止する不具合が起こる。
995デフォルトの名無しさん:2010/01/02(土) 19:59:54
>>994
モーダルループを理解していればそのような馬鹿な発言はしません。
996デフォルトの名無しさん:2010/01/02(土) 20:01:04
理解してるわけないだろ
997デフォルトの名無しさん:2010/01/02(土) 20:02:23
モーダルループを自分で作ったことがあるプログラマなら理解してるはずなんだが
998デフォルトの名無しさん:2010/01/02(土) 20:03:14
あと3スレで解決しろよ
999984=986=987:2010/01/02(土) 20:04:57
>>988
なにか被害妄想が酷くないか?
自分に意見する人間は全部同一人物じゃないの心の平穏が保てないわけじゃあるまい。

>>995
それがグダグダの原因だと言っているんだよ。
「理解していれば」ではなく、自分の見解をはっきりさせない限り、無駄に長引くことになるだけ。
自分の意見に自信があるなら、きっちり説明して一刀両断にすれば終わる話だろ。
1000デフォルトの名無しさん:2010/01/02(土) 20:05:37
スレッドが分かりません
モーダルループが分かりません


素人はレスするなよ……
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。