AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an
Thema durchsuchen
Ansicht
Themen-Optionen

USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an

Ein Thema von grl · begonnen am 1. Sep 2011 · letzter Beitrag vom 1. Sep 2011
Antwort Antwort
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#1

AW: USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an

  Alt 1. Sep 2011, 08:56
Robert kann man ja leider nicht mehr fragen
Leider - seine freundliche und hilfsbereite Art war schon was besonderes.

aber wie wäre es mit einer anderen Idee...
Was lastet denn deinen Hauptthread so aus und kann man das nicht auch in einen Thread auslagern?
Prinzipiell nicht falsch, der Gedanke. Aber das Ding ist schon ziemlich komplex und alle zeitkritischen Sachen sind in eigenen Threads (so 8 oder 9 mittlerweile). Das was da jetzt noch im Hauptthread passiert ist in erster Linie UI-Geschichte - und die in einen Thread legen ist nicht so sinnvoll.

Das Problem tritt ja auch nur manchmal auf - vor allem wenn auf dem Rechner viel los ist. Nachdem aber mit dem System Messdaten aufgezeichnet werden, sollte es einfach NIE passieren - und genau dafür ist das ganze ja auch in einem Thread. Das Konzept mit dem Thread für die USB-Kommunikation wird nur von dem Synchronize im DeviceController durchbrochen - da bringt dann das ganze Multithreading nix...

[add]
Tja, der TJvHidDeviceController ist halt darauf ausgelegt, daß er im Hauptthread läuft, da er teilweise mit Messages arbeitet.

Im Anhang mit einigen kleinen Änderungen:
- wird TJvHidDeviceController, bzw. TJvHidDeviceReadThread in einem Thread erstellt, dann wird ohne Synchronize gearbeitet.
Danke, das hab ich mir auch schon geschnitzt. Ich war mir nur nicht wirklich sicher, ob das Synchronize noch einen anderen Zweck hat, als das Eventhandling sicher zu machen. (Was bei mir egal ist, da meine Event-Routinen alle Thread-safe sind).

Danke für die Mühe,

Luggi
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.745 Beiträge
 
Delphi 12 Athens
 
#2

AW: USB / HID in einem Thread - TJvHidDeviceController.OnDeviceData kommt nicht an

  Alt 1. Sep 2011, 11:20
Da diese Komponente ja standardmäßig (billig) auf eine Form geklatscht wird
und die Events dort angehangen sind, ging er eben davon aus, daß diese Events (standardmäig) nicht threadsicher sind.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz