![]() |
[C++] nieuwe thread
Ik heb nu een applicatie geschreven die een listbox heeft, waar data vanuit een andere thread in moet komen.
Nu heb ik het zover ik weet voor elkaar om de nieuwe thread te starten. Alleen kan ik geen data wegschrijven in de listbox.. :( de functie is als nieuwe thread gestart word is: UINT Communiceer(LPVOID pParam) alleen als ik probeer om met m_listbox.AddString("test"); de tekst test in de listbox van CServiceWindowsDlg te krijgen, dan krijg ik dat niet voor elkaar. Dan is het een onbekende identifier. (363) : error C2065: 'm_listbox' : undeclared identifier (363) : error C2228: left of '.AddString' must have class/struct/union type Hoe kan ik nu communiceren met die listbox? Iemand enig idee? |
een wild gokje, maar als AddString() een pointer is dan zou je
m_listbox->AddString("test"); moeten doen. Ik weet nu niet of dat het geval is. Daarnaast wijst (363) : error C2065: 'm_listbox' : undeclared identifier in mijn (noobische) ogen naar een typfout ofzo. Dus dat je tijdens het declareren m_listbox iets anders hebt gedeclareerd(daarmee bedoel ik bv m_Listbox ofzo) |
Citaat:
alleen in mijn nieuwe functie is m_listbox dus niet bekend. Ik zoek nu een manier om vanuit die andere functie m_listbox aan te kunnen roepen of een waarde te kunnen geven. |
hey,
ehhmm dit is de meest lelijke manier: globale variabele maken, m_listbox er in opslaan en dan istie vanuit de thread wel beschikbaar. Ik zou eigenlijk pointer doorgeven aan de thread want er is ruimte om een 32-bits waarde door te geven. Zie trouwens ook SDK mzl |
whaaa.... geen globale variabelen! alsjeblieft niet zeg!
Lekker doorgeven als parameter aan de nieuw thread, als dit kan. Post anders het betreffende stuk code. |
Alle tijden zijn GMT +1. Het is nu 21:21. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.