Ja, dat kan en zal ik uitleggen, maar ik zou eerst een paar andere opmerkingen willen maken.
Om te beginnen denk ik dat er een foutje in je code zit: in 'test multie windowDlg.cpp', lijn 193 en volgende:
C++:
1
2
3
4
5
6
| if (m_dialog1.DoModal() == IDOK);
{
// als op ok gelkikt
m_UitvoerVenster = m_dialog1.m_invoer;
UpdateData(FALSE);
} |
Die ';' na die if is daar niet gewenst denk ik, want nu voer je het stuk tussen { en } altijd uit.
Ten tweede kan het nuttig zijn om niet je complete folder te zippen en online te gooien. De complete 'Debug' subdirectory bevat alleen maar object files en andere zooi die door Visual Studio gegenereerd wordt bij het compileren en linken enzo. Het niet meenemen van je Debug folder maakt je zip bestand een heel stuk kleiner. Voor mij is die 2,3 MB echt geen probleem (goede inetconnectie hier) maar voor iemand met een klein lijntje is 35K of 2,3 MB een flink verschil. Misschien dat mensen sneller geneigd zijn naar je probleem te kijken als het maar 35K download is ipv 2+ MB.
Anyway, je probleem dus. Je probleem is dat je in 'dialog2.cpp' gebruik maakt van m_dialog111.m_invoer (bvb in lijn 53 en 65). Dat is, zie de header, een CString member van een Cdialog1 object, akkoord? Op dezelfde manier gebruik je op je main paneel, test multie windowDlg.cpp, de invoer die eveneens zo'n CString is van een Cdialog1 object. Bvb in lijn 196 zoals ook aangegeven in dat if block hierboven: 'm_UitvoerVenster = m_dialog1.m_invoer;'. Helaas voor jou zijn die twee Cdialog1 objecten NIET dezelfde. Zowel het CTestmultiewindowDlg object als het Cdialog2 object hebben een compleet Cdialog1 object als member zitten, dus ieder heeft zijn eigen Cdialog1 object. Conclusie: op window 2 ga jij de invoer van een ander, nog nooit getoond window 1 object gebruiken ipv de invoer van het al getoonde window 1 object. En die is natuurlijk leeg, en dat is waarom je niets ziet.
Er zijn een aantal oplossingen voor je probleem: het meest makkelijke is natuurlijk in je main window de invoer gelijk naar je window 2 sturen. Dat heb ik even gedaan en dan werkt het prima. Je kunt de gewijzigde code (inclusief fix voor je if probleem wat ik hierboven aanhaalde)
hier afhalen (34K).
Persoonlijk zou ik het een beetje anders gaan designen, maar dat zou me te ver leiden. Da's geen antwoord op je vraag meer. Ik hoor het wel als je daar vragen over hebt
[
Voor 3% gewijzigd door
Verwijderd op 30-10-2004 22:24
]