» »

[C++, MFC] Dostop do GUI iz drugih threadov ?

[C++, MFC] Dostop do GUI iz drugih threadov ?

MrStein ::

Živjo!

V aplikaciji kreiram worker thread z
CWinThread* AFXAPI AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0,
DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);

A lahko ta thread "šari" po GUI elementih (recimo kliče SetWindowText()) ali bi se to naj izvajalo je iz GUI thread-a ?

V Java Swing velja ta drugo, čeprav navidez deluje tudi prvo.
Testi v C++ dajo enak rezultat, zato me zanima, kaj je pravilno, bolje, varneje itd...

Okolje je VisualStudio 2005, C++ , MFC
(ne, menjava okolja žal ne pride v poštev - vsak dan jočem po Javi ;) )

LP,
David
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

noraguta ::

morebiti bi ceelo delovalo ,se pa tega ne dela.
mfc objekti niso thread safe.

mogoče bi lahko zamenjali code monkeya ne pa platforme?

edit: niti swing ni thread safe
Pust' ot pobyedy k pobyedye vyedyot!

Zgodovina sprememb…

  • spremenilo: noraguta ()

MrStein ::

Kaj je zdaj to "da" ali "ne" ???
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

noraguta ::

da se ne dostopat funkcij. sp pa ne sme. za kumunikacijo se uprabljajo MSGji(en kos kode kteri skrbi da je shared memory "rahlo" zasciten čez je pa obešen en loop k preverja spremembe). koncept niti ti je dejansko jasen?
Pust' ot pobyedy k pobyedye vyedyot!

MrStein ::

Pivo ?

Sem vmes že uredil komunikacijo med worker in GUI threadom.

Ti pa lahko malo social skills spoliraš ...

Pa hvala za trud.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# threadanje in gui

Oddelek: Programiranje
8771 (662) darkolord
»

Učenje programiranja (strani: 1 2 )

Oddelek: Programiranje
8518185 (14788) Spura
»

[c#] Vprasanje glede BackGroundWorker classa in spreminanja gui elementa

Oddelek: Programiranje
6784 (710) Ericssony
»

[QT 4] threading in updatanje widgetov

Oddelek: Programiranje
71135 (1008) Gundolf
»

[razvoj] klon windows commanderja za linux (strani: 1 2 3 )

Oddelek: Programiranje
1006618 (4657) napsy

Več podobnih tem