Leana Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 Also ich hab ein Dialog, auf den mehrere Editfelder sind. eins davon wird ständig mit einem neuen wert gefüllt, bzw. sollte es ich hab mir hierfür einen thread gebaut! mein problem ist, dass sich die werte nicht anzeigen unter 98 ich hab für dieses editfeld eine CString variable angelegt und weise den wert entsprechen zu. unter nt/2000.... funktioniert das ganz einfach zuweisen -> und man sieht es am dialog unter 98 funktioniert das nicht!!! warum? mit UpdateData() hab ich es probiert -> fehlermeldung, schluckt er nicht oder UpdateWindow() macht gar nichts!!! hat jemand dazu ne lösung!? ich verzweifel sonst :confused: Zitieren
Klotzkopp Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 Benutzt du zufällig CreateThread und gibst beim letzen Parameter NULL an? Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 nein mit den threads hat das nichts zu tun! die werte schicke ich an das fenster aus den threads heraus und diese fange ich im fenster auf das problem ist nur das anzeigen Zitieren
Klotzkopp Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 Original geschrieben von Leana nein mit den threads hat das nichts zu tun!Heißt das "nein", dass du bei CreateThread im letzten Parameter nicht NULL angibst? das problem ist nur das anzeigen Ich habe die Erfahrung gemacht, dass man sich bei solchen Problemen nicht zu schnell auf die eigene Diagnose versteifen, sondern bei den Symptomen bleiben sollte. Bist du sicher (sprich: hast du es mit einem Debugger geprüft), dass auf dem Win98-System dein Thread überhaupt gestartet wird? Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 ja bin mir sicher, der thread wird gestartet wirft regelmäßig seine messages mit den werten das fenster fängt die auf und schreibt sie auch in die variable von dem editctrl daher liegt das wirklich nicht am thread, sondern nur an der ausgabe! unter 2000 oder nt schreib ich das auch einfahc in die variable udn es wird angezeigt es geht nur nciht unter 98 Zitieren
phyrex Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 die erfahrung zeigt auch, dass wenn man es selbst weiss, man gar nicht erst fragen braucht :-) Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 blöde sprüche helfen mir nicht weiter! ich weiß ja nciht woran es liegt das 98 es net anzeigt, dazu brauch ich nun mal ne lösung Zitieren
Klotzkopp Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 Original geschrieben von Leana ja bin mir sicher, der thread wird gestartet wirft regelmäßig seine messages mit den werten das fenster fängt die auf und schreibt sie auch in die variable von dem editctrlDarf ich nochmal fragen, woran du das merkst, wenn nichts angezeigt wird? Hast du das auf dem Win98-System mit dem Debugger geprüft? So, wie du das Programm beschreibst, dürfte es eigentlich auch unter Windows 2000 nicht funktionieren. Eine Zuweisung an eine CString-Variable bewirkt nichts, solange nicht danach UpdateData( FALSE ) aufgerufen wird. Erst dann wird nämlich der Inhalt des CString-Objekts in das Steuerelement übertragen. Vielleicht hilft es, wenn du den relevanten Teil des Codes zeigst. Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 Also es wird geprüft, ob es 95/98 ist, weil man ab 2000 die CPU Auslastung anders ausgelesen werden muss. die Variable m_strGesamtauslastung ist die von meinem Edit Ctrl if(m_strVersion != W95 && m_strVersion != W98) { long lAusgabe = m_System.GetTotalUsage(); m_strGesamtauslastung.Format("%d", lAusgabe); } else { DWORD dwUsage = m_System.GetCPUUsage9x(); m_strGesamtauslastung.Format("%d",dwUsage); } unter 2000 funktioniert es, deswegen wundert es mcih ja das es unter 98 nicht geht. meine erkenntnisse, dass meine threads funktionieren, habe ich natürlich durch das debuggen unter 98 gewonnen. bin ja net blöde, nicht und ich arbeite ohne updateData(false); also kann mir jetzt jemand helfen, bitte!!! Zitieren
Klotzkopp Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 Original geschrieben von Leana unter 2000 funktioniert es, deswegen wundert es mcih ja das es unter 98 nicht geht.Ich habe das grad mal getestet: Ein CString::Format-Aufruf oder eine Zuweisung reicht definitiv nicht. Wenn das unter Windows 2000 funktioniert, dann machst du noch irgendetwas anderes. meine erkenntnisse, dass meine threads funktionieren, habe ich natürlich durch das debuggen unter 98 gewonnen. bin ja net blöde, nicht Das wollte ich auch nicht sagen. Aber ich weiß aus eigener Erfahrung, wie es ist, wenn man sich irgendeiner Sache, den eigenen Code betreffend, "sicher" ist. also kann mir jetzt jemand helfen, bitte!!! Versuchs mal mit: GetDlgItem( RESOURCE_ID_DES_EDITCTRL )->SetWindowText( m_strGesamtauslastung ); nach dem Format-Aufruf. Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 ist schon ok!!! *lach* ja da bin ich auch gerade drauf gekommen mit der funktion und es geht! *jipiii* ist anscheinend ein updateproblem unter 98 und glaube mir, es geht unter 2000, mach ich doch und es funkt aber danke für dienen hilfe Zitieren
phyrex Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 klar gibt es immer viele wege, aber einfach so wandern keine Daten auf die Oberfläche... wäre also nett, wenn du etwas genauer beschreiben könntest wie du das machst, den diesen weg kenne ich scheinbar noch nicht.. oder doch ein updatedata drin ?!?? Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 hallloooooooooo das problem wurde gelöst udn wie du eigentlich wissen müsstest, dass wenn man eine variable zu einem ctrl anlegt und diesem einen wert zuweist, dass das dann funktioniert und der wert gleich angezeigt wird ohne update! (siehe beschreibung!) also ich hab es so beschrieben wie es auch ist, es hat ja nur net unter 98 funktioniert also..... ich wünsche dir, dass du bald mehr erkenntnisse dazu gewinnst Zitieren
Klotzkopp Geschrieben 19. Mai 2003 Geschrieben 19. Mai 2003 Original geschrieben von Leana udn wie du eigentlich wissen müsstest, dass wenn man eine variable zu einem ctrl anlegt und diesem einen wert zuweist, dass das dann funktioniert und der wert gleich angezeigt wird ohne update! (siehe beschreibung!)Könntest du einen Link auf diese Beschreibung posten? In meiner MSDN Library steht was anderes. Zitieren
Leana Geschrieben 19. Mai 2003 Autor Geschrieben 19. Mai 2003 ich habe jetzt keine lust, deswegen ewig rumzureden... ich habe es implementiert und bei mir funktioniert es nun mal.... Zitieren
Goos Geschrieben 20. Mai 2003 Geschrieben 20. Mai 2003 Sachen gibts..... ...aber interessieren wuerds mich auch. Goos Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.