![]() |
Delphi-Version: 2007
Windows Error Code 87 bei ComPort Abfrage
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
mit dem Programm, an dem ich gerade arbeite sollen Einstellungsparameter für die Datenabfrage über einen ComPort ermittelt werden. Dazu wählt der Benutzer zu Beginn aus diversen Checklistboxen die BaudRaten, Databits, StopBits, Paritäten und FlowControls, welche das Programm dann prüfen soll. Nach dem drücken des Knopfes "Test Starten" führt das Programm für jede mögliche Kombination aus den zuvor ausgewählten Parametern auf jedem angeschlossenem ComPort eine Datenabfrage durch und wertet die empfangenen Signale aus, indem es diese die Zeichen der empfangenen Signale darauf prüft, ob nur die Ziffern 0 bis 9 oder '.' oder ',' vorhanden sind. Sollte der Messwert nur aus den genannten Zeichen bestehen, werden die Einstellungsparameter in einer AdvancedStringGrid ausgegeben (AdvStringGrid2). In der AdvStringGrid 1 werden alle Messwerte unabhängig von ihrer Richtigkeit mit den Entsprechenden Parametern ausgegeben. Soweit funktioniert das Programm auch, aber bei meistens wenn viele zu prüfende Parameter eingestellt sind, bricht das Programm ab und es wird der Windows Error Code 87 ausgegeben, welcher die Beschreibung "The parameter is incorrect" hat. Und zugegebenermaßen habe ich keine Ahnung, was den Fehler auslöst und geschweige denn wie man ihn lösen könnte/müsste. Außerdem scheint der Fehler nicht bei einer bestimmten Prüfparameterkombination aufzutreten, oder zumindest nicht immer wieder bei der selben. Die Datenabfrage ist derzeit so eingestellt, dass sie bei Mahr Messgeräten über DTR funktioniert, sollte jedoch in der Verbindung zwischen dem Mahr Messgerät (Speziell Mahr Messschieber und Messschrauben) und dem PC zum Beispiel noch ein Mitutoyo Adapter zwischengeschaltet sein oder sollte die Abfrage der Messwerte von einem Mitutoyo Messgerät erfolgen sollen, müsste Mindestens das Datenabfragesignal angepasst werden. Bei mir ist das Datenabfragesignal derzeit so:
Delphi-Quellcode:
comport1.SetDTR(false);
sleep(100); comport1.setdtr(true); Der Quellcodeausschnitt sollte nur zum Beschreiben des Datenabfragesignals dienen, der Quelltextteil, in dem wahrscheinlich der Fehler liegt, ist mehrere Hundert Zeilen lang. Den gesammten Projektordner habe ich als .zip angehängt. Ich hoffe, dass die Frage icht zu schwierig ist :pale: Danke schonmal im Vorraus! |
AW: Windows Error Code 87 bei ComPort Abfrage
Der ganze Fehler Code/Text lautet : "setcommstate function failed (win error code 87)"
|
AW: Windows Error Code 87 bei ComPort Abfrage
Die Suchmaschine meines Vertrauens lieferte mir folgendes:
Zitat:
![]() Gruß K-H |
AW: Windows Error Code 87 bei ComPort Abfrage
Besten dank,
leider verstehe ich nicht viel von dem, was in dem Link steht. Aber trdm danke :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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 by Thomas Breitkreuz