Einzelnen Beitrag anzeigen

fran

Registriert seit: 4. Nov 2005
38 Beiträge
 
Delphi 6 Personal
 
#3

Re: Problem mit case-of Anweisung in ClientSocket1Read

  Alt 4. Nov 2005, 19:39
Zitat von Der_Unwissende:
Hi,
ich denke mal das Problem ist, dass du die Daten teilweise zu früh abholen möchtest / abholst. Wenn du den Einzelschrittmodus benutzt, nun ja, bist halt deutlich langsamer als die Datenübertragung, die CPU nicht.
Also wenn du einfach darauf reagierst, dass etwas ankommt, solltest du sicher sein, dass sich im Buffer >= sizeOf(daten) befindet. Wenn dein Empfangspuffer nur ein Byte enthält (mal ganz übertrieben), dann kannst du zwar in Daten etwas einlesen, aber an den meisten Stellen (bis auf dem ersten byte alle) wäre das dann undefiniert. Somit zeigt dir dein Showmessage schon was mit dem Edit17.Text an, nur ist der halt leer. Da die CPU recht schnell ist, wird gleich danach das richtige Wort ins Edit17 geschrieben und du siehst das nur nicht. Bin mir nicht ganz sicher, aber sollte ich richtig liegen, sollte immer der erste Aufruf das leere Edit17 anzeigen.

By the way, benenn lieber Edit17 um, je früher desto weniger nervig!
Das erklärt aber immer noch nicht warum das showmessage zweimal kommt. Ich habs schon mit einem sleep(500) probiert, hat aber nichts bewirkt außer das die GUI für 500 ms lahm gelegt war.



P.S. Das Edit17 wird zusammen mit den anderen Edits, Labels usw. demnächst umbenannt. Erst gibt es bei mir nämlich immer eine gewisse Zeit, wo ich nur teste und zum Testen gibt es bei mir mehrere Testbuttons, Edits, Labels usw. Und nur fürs Testen, denen allen einen Namen zu geben ist mir zu aufwändig. Den Namen verdienen die sich erst wenns sozusagen richtig los geht.
  Mit Zitat antworten Zitat