Veröffentlicht 19. Mai 200322 j 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:
19. Mai 200322 j 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
19. Mai 200322 j 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?
19. Mai 200322 j 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
19. Mai 200322 j die erfahrung zeigt auch, dass wenn man es selbst weiss, man gar nicht erst fragen braucht :-)
19. Mai 200322 j 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
19. Mai 200322 j 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.
19. Mai 200322 j 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!!!
19. Mai 200322 j 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.
19. Mai 200322 j 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
19. Mai 200322 j 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 ?!??
19. Mai 200322 j 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
19. Mai 200322 j 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.
19. Mai 200322 j ich habe jetzt keine lust, deswegen ewig rumzureden... ich habe es implementiert und bei mir funktioniert es nun mal....
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.