Autor Beitrag
Stephan.Woebbeking
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 97



BeitragVerfasst: Di 27.01.09 13:18 
Hallo *.

Habe ein Programm geschrieben, dass über die serielle Schnittstelle mit Hardware kommuniziert. Dafür nutze ich die Standard TComPort Komponente. Funktion soweit komplett gegeben.

Das Problem tauchte jetzt auf, als ich versucht habe mit der Zeit zu gehen und daher auch über einen USB-to-Serial Adapter (insbesondere für Notebook interessant) eine Verbindung aufbauen will. Wenn ich den auf einen COM kleiner 10 mappe, klappt auch das, die Komponente reagiert wie erwartet genau wie auf einer "echten" seriellen.

Wenn ich jetzt den Adapter aber auf einem COM Port grösser/gleich 10 (zweistellig) liegen habe, bekomme ich beim Aufruf comPort.Open die Fehlermeldung "Das System kann die angegebene Datei nicht finden". Physisch funktioniert das Ganze aber, ein kurzer Test mit einem Terminalprogramm zeigt keine Auffälligkeiten.

Kann es sein, dass TComPort einfach noch nicht darauf ausgerichtet ist/war, mit Ports grösser neun zu arbeiten? Kennt jemand eine Lösung / Workaround?

Achja, ich arbeite mit Delphi 7.0 und Windows XP SP 2 falls das hilft.

Danke,
Stephan
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 08.02.09 08:19 
Hallo und :welcome: im Forum!

Hast du denn einmal geschaut welche Ports mit EnumComPorts gefunden werden? Ist der dabei?
Stephan.Woebbeking Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 97



BeitragVerfasst: Mo 09.02.09 17:41 
Titel: EnumComPorts liefert den entsprechenden Port
Hallo & danke für das :welcome:! :lol:

Ja, bei EnumComPorts wird er korrekt aufgelistet. Das verwende ich um eine Auswahl anzubieten. Wenn der Nutzer aber jetzt den angebotenen Com11 einstellt und den Port öffnen will bekomme ich die Exception...

Stephan
oOXTCOo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows XP Prof. 3
Delphi 7
BeitragVerfasst: Sa 22.08.09 02:07 
user profile iconStephan.Woebbeking hat folgendes geschrieben Zum zitierten Posting springen:
Kann es sein, dass TComPort einfach noch nicht darauf ausgerichtet ist/war, mit Ports grösser neun zu arbeiten? Kennt jemand eine Lösung / Workaround?

solltest du es noch brauchen:

ComPort1.Port:='\\.\'

\\.\COM11 zb. funktioniert dann, hatte das selbe problem damit.

Moderiert von user profile iconNarses: Zitat gekürzt.
Stephan.Woebbeking Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 97



BeitragVerfasst: Mi 16.02.11 11:12 
Danke!

Habe es zwischenzeitlich ander gelöst, muss da aber nochmal ran, dann werde ich das so umsetzen. Hab es natürlich jetzt noch nicht ausprobiert, aber der Ansatz klingt ganz überzeugend, deshalb denke ich, dass das klappen wird.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 16.02.11 18:00 
Trotzdem muss ich mal nachfragen welche Version der CPortLib du einsetzt?

Ich hab die auch schon mit COM14 (Bluetooth, der legt ~20 Geräte an) genutzt, problemlos.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."