Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Dynamisch ComPort ermitteln...

  Alt 22. Feb 2007, 07:00
Hallo Bingo72,

du kannst das Thema imho nur damit lösen, in dem du in einer sogenannten Initialisierungsprozedur folgendes tust:

- alle vorhandenen Com-Ports finden,
- beim ersten beginnend jeden Port öffnen,
- auf initialisierung deiner Endgeräte eine definierte Zeit warten,
- erhaltenen Traffic auswerten welches deiner Geräte passt oder Timeout abwaren,
- erkannte eigenen Geräte auflisten,
- Kunden Auswahl bestätigen lassen.

Das setzt voraus, dass deine Geräte nach öffnen des Ports automatisch Daten schicken. Deine GPS-Maus sollte dies tun (ich glaube NMEA-Protokolle). Läßt sich ein Port nicht öffnen, ist er von einer anderen Anwendung belegt. Diese Exception mußt du abfangen und entsprechend verarbeiten. Werden mehrere Geräte des richtigen Typs erkannt bietest du dem anwender eine Auswahl an.

Sollten deine Geräte auf eine spezielle Sequenz antworten, so kannst du diese natürlich auch auf jeden Port senden. Damit entsteht aber das Problem, dass Geräte die diesen nicht verarbeiten können Sachen tun die nicht erwünscht oder gut sind. Aus diesem Grund würde ich die passende Methode vorziehen.

Wie man zu den eingerichteten Com-Ports die dazugehörigen installierten Treiber erkennt weis ich leider nicht. Sollte das möglich sein und diese speziell für deine Endreräte eingerichtet sein, so besteht auch die Möglichkeit diese zu erkennen und eine entsprechende Zuordnung zu setzen. Imho benötigt eine GPS-Maus aber keinen speziellen Treiber. Somit müßte sich diese Variante ausschließen.

Gruß oki
  Mit Zitat antworten Zitat