Click here to Skip to main content
15,891,253 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: What's the closest thing to an anonymous struct/array I can achieve that compiles with GCC? Pin
arnold_w9-Sep-20 14:35
arnold_w9-Sep-20 14:35 
GeneralRe: What's the closest thing to an anonymous struct/array I can achieve that compiles with GCC? Pin
Joe Woodbury9-Sep-20 15:14
professionalJoe Woodbury9-Sep-20 15:14 
GeneralRe: What's the closest thing to an anonymous struct/array I can achieve that compiles with GCC? Pin
Stefan_Lang15-Sep-20 3:34
Stefan_Lang15-Sep-20 3:34 
AnswerRe: What's the closest thing to an anonymous struct/array I can achieve that compiles with GCC? Pin
arnold_w11-Sep-20 12:46
arnold_w11-Sep-20 12:46 
QuestionCWinThread for background processing Pin
Richard Andrew x645-Sep-20 10:13
professionalRichard Andrew x645-Sep-20 10:13 
AnswerRe: CWinThread for background processing Pin
Mircea Neacsu5-Sep-20 16:18
Mircea Neacsu5-Sep-20 16:18 
GeneralRe: CWinThread for background processing Pin
Richard Andrew x645-Sep-20 17:03
professionalRichard Andrew x645-Sep-20 17:03 
AnswerRe: CWinThread for background processing Pin
Randor 5-Sep-20 16:44
professional Randor 5-Sep-20 16:44 
Hi,

Richard Andrew x64 wrote:
I ask because I do not want the application to terminate when the secondary thread terminates. My understanding of the docs is that that could happen if I use a UI thread.

Could you show me what you are referring to? The only way that I am aware of... where a CWinThread can terminate the main thread is if you reach across threads to execute code. If a WM_QUIT arrives during that short period I believe it gets posted to the main threads message queue.

Don't do this:
C++
ThreadA->ThreadB_DoSomething();
ThreadB->ThreadA_Dosomething();

Instead post a message WM_THREAD_A_DOSOMETHING

As long as ThreadA never touches ThreadB you shouldn't have any problems. Also don't create any windows or enter any modal modal loops from your CWinThread worker thread... do all window management from your main thread.

Follow these rules:
1.) Do all window creation in your main thread.
2.) Don't reach across threads to execute code.
3.) Use PostMessage to communicate between threads.

You *can* break these rules but make sure that you fully understand the consequences and how to get around them. Raymond Chen explains how you can get around messages are eaten by modal loops[^] here.

Best Wishes,
-David Delaune
GeneralRe: CWinThread for background processing Pin
Richard Andrew x645-Sep-20 17:01
professionalRichard Andrew x645-Sep-20 17:01 
GeneralRe: CWinThread for background processing Pin
Randor 5-Sep-20 17:29
professional Randor 5-Sep-20 17:29 
PraiseRe: CWinThread for background processing Pin
CPallini7-Sep-20 1:33
mveCPallini7-Sep-20 1:33 
QuestionGroup policy editor api Pin
Member 1487268130-Aug-20 23:13
Member 1487268130-Aug-20 23:13 
AnswerRe: Group policy editor api Pin
Richard MacCutchan31-Aug-20 1:27
mveRichard MacCutchan31-Aug-20 1:27 
QuestionRe: Group policy editor api Pin
Member 1487268131-Aug-20 17:08
Member 1487268131-Aug-20 17:08 
AnswerRe: Group policy editor api Pin
Richard MacCutchan31-Aug-20 20:57
mveRichard MacCutchan31-Aug-20 20:57 
GeneralRe: Group policy editor api Pin
Member 1487268131-Aug-20 21:33
Member 1487268131-Aug-20 21:33 
GeneralRe: Group policy editor api Pin
Richard MacCutchan31-Aug-20 21:40
mveRichard MacCutchan31-Aug-20 21:40 
AnswerRe: Group policy editor api Pin
Randor 1-Sep-20 23:24
professional Randor 1-Sep-20 23:24 
QuestionWindows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
jackngill30-Aug-20 12:01
jackngill30-Aug-20 12:01 
AnswerRe: Windows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
Mircea Neacsu30-Aug-20 16:47
Mircea Neacsu30-Aug-20 16:47 
GeneralRe: Windows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
jackngill30-Aug-20 22:26
jackngill30-Aug-20 22:26 
GeneralRe: Windows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
jackngill2-Sep-20 22:48
jackngill2-Sep-20 22:48 
AnswerRe: Windows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
David Crow3-Sep-20 2:59
David Crow3-Sep-20 2:59 
GeneralRe: Windows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
jackngill3-Sep-20 4:01
jackngill3-Sep-20 4:01 
GeneralRe: Windows XP Convert SystemDrive Variable e.g. %SystemDrive% - into equivelant C++ code Pin
David Crow3-Sep-20 4:23
David Crow3-Sep-20 4:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.