Darstelungs problem
-
Hallo,
ich habe ein Eingabenfeld wo ich status anzeigebn ausgebe.
mein Programm startet eine Funktion die viele daten bearbeitet.(dauert ne weile)
in der Funktion rufe ich eine Metode des Dialogfeldes auf um status anzeigen an das Eingabefeld wieter zugeben.void COberflche_alkDlg::ausgabe(char *aus) { CString temp; temp=m_ausg; m_ausg.Format("%s%s",temp,aus); UpdateData(FALSE); //Invalidate(); //OnPaint(); }aber leider zeikt er rest nach beenden der Funktion alles an.
ich brauche das aber weren er arbeitet.ich habe schon fersucht das Dialogfeld neu zu zeichne ( Invalidate();, OnPaint(); ).
hat da jemand ne ahnug was man da machen sollte???
MFG TaccoGo
-
Klingt wie das gleiche Problem wie hier:
http://www.c-plusplus.net/forum/viewtopic.php?t=39085von Unix-Tom: Habe den Link geändert
-
o das war keine absicht das es den beitrag mermals gesendethat.
da dei verbindung han bin ich auf aktualsiren gegangen.MFG TaccoGo
-
danke das hat mir wietergeholfen!!
MFG TaccoGo
-
Hallo,
ne frage zu den Code vom Link
void CWipeFreeDlg::DoEvents() // Evtl. Anstehende Events ausführen { MSG msg; // Message Variable // Process existing messages in the application's message queue. // When the queue is empty, do clean up and return. while (PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)) { // Solange Messages vorhanden if (!AfxGetThread()->PumpMessage()) return; // Kein plan... :-) } }das beabeited ja alle Events im Programm.
das Problem ist aber das wen ich das Programm Beende das Fenster weg ist aber im Task-Manager leuft er noch da die funktion noch arbeited und Events sendet die wiert einfach nicht mehr beendet??
Wie kann ich das fehidern??
Wie kann ich dei Funktieon auch benden??MFG TaccoGo
-
Einfach: UpdateWindow()
Schwieriger aber schöner:
Threads für deine Funktion. Man sollte immer GUI von Arbeit trennen.Oder deine Funktion bei Programmende irgendwie abbrechen. z.B. booll stezen und in deiner Schleife immer wieder abfragen.
-
Hallo,
zu den Threads kanst du mir bitte mall ein Bsp. geben??
MFG TaccoGo
-
Hallo,
das was ich mit den Threads probirt habe fürt zum selben ergebnis.
Oder mache ich da was falsch.
AfxBeginThread( (AFX_THREADPROC)geoTools.startProcessing(this,m_INI,16,arr), this, THREAD_PRIORITY_NORMAL, 0,CREATE_SUSPENDED );MFG TaccoGo
-
Hallo,
mein programm bearbeited immer noch nicht dei wieteren events auch wen ich dei funktin als Treahd starte??
MFG TaccoGo