Re: writing to gui from thread
Post a message to the gui. It is a thread, after all, it should not
stop to interact with the gui.
On Feb 21, 4:44 pm, "Jinny King" <jinnyk...@126.com> wrote:
I think that the AfxGetMainWnd() in the thread cause the asserttion. Beca=
use
the main window associated with the thread maybe different with the
application main window. you can use AfxGetApp()->m_pMainWnd to instead of
the AfxGetMainWnd().
"kunal s patel" <kunalspa...@discussions.microsoft.com> =D0=B4=C8=EB=CF=
=FB=CF=A2=D0 =CE=C5:009D9EA4-71B6-4DFB-91F7-9A18E3609...@microsoft.com...
Hi all,
Here is a part of code:
#include "maindlg.h"
UINT MyThread(LPVOID obj); //thread function definition
class Cmaindlg
{
//this is the class of main gui with a listbox
CListbox m_listbox;
};
#include "sim.h"
#include "maindlg.h"
class sim
{
//another file
void proc(); //this function access the gui
void run();
}
Now when someone press a button in maindlg application i spawn a thread
like this:
UINT MyThread(LPVOID obj)
{
sim s;
s.proc();
}
The function proc is defined as
void sim::proc()
{
Cmaindlg* pmain = (Cmaindlg*) AfxGetMainWnd();
pmain->m_listbox.AddString("Hi");
}
Now when i try to run this application, i get an assertion error. I am =
not
able to understand what is going wrong. Can anyone explain me the way o=
ut
of
it. Basically i want to access the gui objects from thread.
thanks
kunal- Hide quoted text -
- Show quoted text -