AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Unable to open Comport (Error 1117) nach einigen Connects
Thema durchsuchen
Ansicht
Themen-Optionen

Unable to open Comport (Error 1117) nach einigen Connects

Ein Thema von Captnemo · begonnen am 2. Nov 2014 · letzter Beitrag vom 3. Nov 2014
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Unable to open Comport (Error 1117) nach einigen Connects

  Alt 2. Nov 2014, 14:04
Hi,

ich habe eine Anwendung, in der ich folgende Komponente verwende: http://comport.sf.net/
Eine Komponente für die Ansteuerung des Com-Ports.

Ich verbinde mich regelmäßig mit einen Gerät, lese Daten aus, und trenne die Verbindung wieder.

Nach einiger Zeit, also einigen Hundert Connects, tritt plötzlich der Fehler "unable to open comport (Error 1117)" auf. Dann kann ich nicht mehr über den Comport connecten.
Wenn ich meine Anwendung beende und direkt wieder starte, geht es wieder einige hundert Male, bis der Fehler wieder auftritt.

Nach dem was ich bisher über den Fehler herausgefunden habe, ist dass ein Windowsfehler beim Zugriff auf das IO-Device aufgetreten ist. Aber ich brauch nur die Anwendung neu starten, schon geht's wieder.

Das einzige, was beim Start zusätzlich passiert, ist das erzeugen des Objektes TComport.
Hat einer eine Idee, woran das liegen kann?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo

Geändert von TBx ( 3. Nov 2014 um 07:11 Uhr) Grund: Titel korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Unable to oben Comport (Error 1117) nach einigen Connects

  Alt 2. Nov 2014, 14:49
Und warum lässt du die Verbindung nicht einfach offen?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.603 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Unable to oben Comport (Error 1117) nach einigen Connects

  Alt 2. Nov 2014, 15:00
Ich verbinde mich regelmäßig mit einen Gerät, lese Daten aus, und trenne die Verbindung wieder.

Nach einiger Zeit, also einigen Hundert Connects, tritt plötzlich der Fehler "unable to open comport (Error 1117)" auf. Dann kann ich nicht mehr über den Comport connecten.
Wenn ich meine Anwendung beende und direkt wieder starte, geht es wieder einige hundert Male, bis der Fehler wieder auftritt.
Das kenne ich nur, wenn der Port nicht sauber geschlossen wird, z.B. noch ein Thread darauf wartet, dass Daten kommen. Dann blockiert die Anwendung sich selbst dabei, den Port zu oeffnen.

twm
Thomas Mueller
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#4

AW: Unable to oben Comport (Error 1117) nach einigen Connects

  Alt 2. Nov 2014, 15:01
leider ist das Beschriebene im Bereich des Vorstellbaren, aber ohne weitere Details kaum zu analysieren...

1. Sind es wirklich "noch echte Comports", oder doch PICe oder gar USB Ports ?
2. z.B. bei USB etwas irgendwas "bekanntes" wie FTDI oder was "exotisches"
3. sicher, das auch alle Puffer sauber threadsicher freigegeben werden? (Also nach ComClose alle genutzten(einmal übergebenen) ReadBuffer noch eine Zeit lang gültig sind?
4. warum eigentlich den Port nicht offenlassen?
5. auch wirklich alle möglichen Errors "richtig" behandelt (BufferOverflow,TimeOut,Frameing,Parity,CommBreak, ...) ?


Fragen über Fragen...
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#5

AW: Unable to oben Comport (Error 1117) nach einigen Connects

  Alt 2. Nov 2014, 20:49
Danke für eure Antworten.

Zur Frage, warum ich den Comport nicht einfach über die gesamte Laufzeit offen lasse:
Leider ist es so, dass das auszulesende Gerät (in meinem Fall ein Scheitholzofen) zwar diese Funktion unterstützt in festen Abständen Werte zu senden, aber nach einer gewissen Zeit kamen die Werte immer mehr zeitversetzt.
Darum habe ich versucht, Verbindung aufbauen, Werte abfragen, Verbindung wieder schließen.

Zur Verbindung nutze ich ein IPEther von IPCAS (RS323 over Ethernet) und habe auf meinem Computer eben nur einen virtuellen Comport.
Natürlich prüfe ich vorher, ob der TComport noch connected ist, was er mit False zurückliefert.
Aber die Theorie, dass wohl irgendwas nicht richtig geschlossen ist, erscheint mir an naheliegendsten.

Ich werde mal eine andere Kompoente ausprobieren.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Unable to oben Comport (Error 1117) nach einigen Connects

  Alt 2. Nov 2014, 21:36
Solange über RS232 keine Softwarseitige Rückmeldung vorhanden ist, bekommt man eh nicht mit, ob am anderen Ende einer mitliest (Comport offen) oder nicht (geschlossen).
Demnach kann man im Prinzip den Comport auch einfach offen lassen und braucht maximal die Komunikation neu zu initilisieren. (z.B. Startcodes erneut senden)

Das Einzige wo man wirklich den Port schließen muß, ist wenn der Comport verschwand. (bei dir z.B. durch trennen der IP-Verbindung)


Sicher daß das Problem nicht auf Seite des Netzwerks (LAN/WLAN) liegt?
IP-Verbindungen bleiben gern mal offen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Unable to oben Comport (Error 1117) nach einigen Connects

  Alt 3. Nov 2014, 06:10
Guten Morgen,

kann das IPCAS nicht so betrieben werden, dass Du dich nicht um den Comport kümmern musst.
Und das Endgerät via IPCAS über TCP (Telnet, TCP-Client/Server) ansprechen kannst?

Grüße
Klaus
Klaus
  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 08:26 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