vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Warten auf Event ohne Do-Loop 
Autor: NoErrX
Datum: 28.10.04 10:54

Hallo,
ich habe ein Winsock und will die Daten ein wenig auseinander-Pfriemeln.

Deswegen habe ich eine eigene "Daten Senden" funktion geschrieben, die folgendermaßen aussieht:
Private Sub SendeDaten(sTextDaten as String)
   sckWinSck.SendData (sTextDaten)
   bDatenFertig = FALSE
   Do
      DoEvents
   Loop While bDatenfertig = FALSE
End Sub
bDatenFerig ist eine globale Variable...

Wenn das Senden der Daten abgeschlossen ist, feuert das Winsock-Steuerelement ja das SendComplete-Event ab:
Private Sub sckWinSck_SendComplete()
   bDatenfertig = True
End Sub
Das Problem:
Sende ich jetzt einen Haufen Daten in kurzer Zeit (z.B. ein ganzes String-Array), dann geht die CPU-Last auf 100% hoch.
Das kann ich aber so nicht gebrauchen, da ich möglichst CPU-Entlastend programmieren muss.
Eine "Krückenlösung" habe ich geschaffen, indem ich in die Do-Loop Schleife noch einen Sleep von 10ms eingebaut habe, was aber die Datenübertragungsrate stark einschränkt.

Gibt es eine Möglichkeit die Funktion so lange zu unterbrechen, bis das Event abgefeuert wird, was auch nicht alzu prozessorlastig ist?

Geduld ist die Kunst zu hoffen.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Warten auf Event ohne Do-Loop1.282NoErrX28.10.04 10:54
Re: Warten auf Event ohne Do-Loop816ModeratorDieter28.10.04 22:25

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel