AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi EndOfFile/EndOfData bei Pipe erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

EndOfFile/EndOfData bei Pipe erkennen

Ein Thema von himitsu · begonnen am 10. Okt 2010 · letzter Beitrag vom 31. Okt 2010
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von himitsu
himitsu

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

AW: EndOfFile/EndOfData bei Pipe erkennen

  Alt 30. Okt 2010, 14:37
aber eben nicht, dass man die Registrierung für ein bestimmtes hwndTarget komplett aufheben möchte...
Jupp, man kann es auf ein bestimmtest Fenster registrieren, aber nur für die komplette Anwendung deregistrieren.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: EndOfFile/EndOfData bei Pipe erkennen

  Alt 30. Okt 2010, 20:32
Was ich grade noch Wichtiges mitbekommen hab
und weswegen ich meiner HID-Klasse demnächst ein Singlepattern verpasse.

Es kann pro Anwendung immer nur ein Fenster für ein für ein Ereignis (UsagePage+Usage) gegistriert sein.

Und zwar immer das Letzte bekommt die Nachrichten.

Genaue Bezeichnungen haben vorrang vor ganzen Gruppen (RIDEV_PAGEONLY).
Wenn man also für ein Fenster eine ganze UsagePage reserviert und für ein Anderes nur einen bestimmten Bereich (UsagePage+Usage), dann ist bei der Gruppe dieser Bereich nicht enthalten.




Da ja pro Anwendung nun eh nur ein Fenster empfangen kann, ist es also nicht schlimm und auch irgendwie einleuchtend, warum man beim Deregistrieren kein Handle angeben muß/darf/braucht.
$2B or not $2B

Geändert von himitsu (30. Okt 2010 um 20:41 Uhr)
  Mit Zitat antworten Zitat
sparky

Registriert seit: 28. Nov 2004
10 Beiträge
 
Turbo Delphi für Win32
 
#23

AW: EndOfFile/EndOfData bei Pipe erkennen

  Alt 31. Okt 2010, 08:40
Für unseren Anwendungsfall habe ich als "Singleton-Pattern" einen modalen Dialog , und wenn der (nach einem Timeout) wieder geschlossen wird gibts auch keine Raw-Input Nachrichten / Registrierung mehr. Funktioniert besser als gedacht.
Danke für die zusammenarbeit

Übrigens: Ich würde gerne den HID-Controller aus deiner WiiHID Lib zum ermitteln aller angeschlossenen HID-Geräte verwenden. Ist das Ok, da es sich um eine kommerzielle Verwendung handelt?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: EndOfFile/EndOfData bei Pipe erkennen

  Alt 31. Okt 2010, 09:23
Is OK, ich werd' da die nächsten Tage noch das RAW-Input einbauen, den nicht richtig funktionierenden Timer ausbauen und dann wird das Ganze vermutlich wieder unter 'ner passenden Multilizenz veröffentlicht, welche das erlauben müßte.
Zitat:
MPL v1.1 , GPL v3.0 or LGPL v3.0
Und ich bedanke mich dann auch schonmal.



Muß mir jetzt nur noch überlegen, wie ich das HID und RawInput am Besten verbinde, also wie möglichst optimal die RawInputs an die entsprechenden registrierten HID-Klassen weitergeleitet/zugeordnet werden können.

Und wie/ob ich ein Win7-Problem beseitige, denn mein WiiControler wird von GetRawInputDeviceList doppelt gefunden, also mit zwei verschiedenen Handles (hDevice) und es kommen alle Reports doppelt rein.
(mal sehn ob ich sie dann einfach doppelt verarbeite oder ob/wie man die Doppelten ignorieren kann)
$2B or not $2B

Geändert von himitsu (31. Okt 2010 um 09:33 Uhr)
  Mit Zitat antworten Zitat
sparky

Registriert seit: 28. Nov 2004
10 Beiträge
 
Turbo Delphi für Win32
 
#25

AW: EndOfFile/EndOfData bei Pipe erkennen

  Alt 31. Okt 2010, 11:46
Ok, wie gesagt die Anbindung der neuen Barcode-Scanner ist bei uns erstmal noch etwas zurückgestellt.

Wird die Lib auch noch Delphi Versionen ohne Unicode und References/Closures/Generics unterstützen? Falls nicht, wäre es zumindest ein Grund mehr endlich die neue Delphi Version aus der Schublade zu holen und unsere Biblithek / aktuellen Projekte anzupassen

Wenn ein Device doppelt aufgelistet wird, kommen die Reports dann für jedes Handle doppelt oder pro Handle nur einmal ?
Doppelt pro Handle oder nicht identifizierbar wäre ziemlich blöd für unseren Anwendung, denn die soll über die Anzahl der unterschiedlichen Eingaben zählen (d.h.: Barcode * Anzahl = Artikel * Menge).

btw, wurde das Device das doppelt auftaucht zwischenzeitlich mal getrennt oder ist eine Anwendung beim Zugriff (sprich offenem Handle) abgestürzt?
Dann würde ich einfachmal vermmuten das Windows beim Verwalten der Resourcen ein wenig hinterher ist

Mal schauen ob ich das mit den Scannern unter Win7 nach stellen kann, unter XP hatte ich bisher noch keine Probleme...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: EndOfFile/EndOfData bei Pipe erkennen

  Alt 31. Okt 2010, 12:05
Das Unicode ist kein Problem, muß ich dann nur Einiges von String/Char auf WideString/WideChar umstellen und Anderes nach ANSI konvertieren.
Die Generics sind nur zur Vereinfachung drin ... mit 'ner TList und TypeCasts läßt sich das ersetzen.

Also, es sollte sich schon recht leicht abwärtskompatibel machen lassen.



Die kommen pro Handle nur einmal, aber als RIDI_DEVICENAME haben sie den gleichen und sonst ist auch alles gleich.

Ich müßte dann also schauen, wie ich es löse, daß dann nur auf eines der beiden Handles gehört und dabei aufpassen, daß nicht was Falsches ignoriert wird.

Unter XP arbeite ich mit dem BlueSoleil-Bluetooth-Stack
und unter Win7 mit dem vorhandenen Bluetooth-Stack von Microsoft.
Leider kann man bei dem BTS von MS nicht "wiederverbinden".
(es geht nur komplett entfernen und neu verbinden , also solltes es nicht daran liegen, daß es "wiedervervunden" wurde, da sowas ja nicht geht)


Beim WiiControler ist es vermutlich nicht so schlimm, wenn was doppelt ankommt, da ich selber nur auf Veränderungen reagiere.
Aber dennoch müßte man so alles doppelt auswerten und vergleichen.
Bei deinem Barcode-Scanner wäre es bestimmt unpraktisch, wenn dann alle Zeichen doppelt reinkommen.

Nja, vielleicht ist es ja nur ein Problem mit dem Bluetooth.
$2B or not $2B

Geändert von himitsu (31. Okt 2010 um 12:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 14:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz