AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Check ob Ports durch andere Anwendungen besetzt sind ?
Thema durchsuchen
Ansicht
Themen-Optionen

Check ob Ports durch andere Anwendungen besetzt sind ?

Ein Thema von Florian · begonnen am 15. Mär 2003 · letzter Beitrag vom 1. Apr 2003
Antwort Antwort
Florian

Registriert seit: 1. Nov 2002
Ort: Österreich
41 Beiträge
 
#1

Check ob Ports durch andere Anwendungen besetzt sind ?

  Alt 15. Mär 2003, 13:07
hi,
also folgendes Problem.
Ich hole mir alle Ports die mir auf der Workstation zur Verfügung stehen aus der registry und schreib sie in eine stringlist.
Soweit so gut. Ich verwende die ComPort264.

Anwendung: Automatische Device Erkennung!

Also ich schicke meinem Gerät ein Zeichen! --> diese verarbeitet es und schickt mir danach seine Kennung....-> Folge von Zeichen!
Ich muss jetzt also alle Ports nach der Reihe durch gehen und schaun ob ich diese Kennung zurückbekomme und dann eben ausgeben wo das gerät dran hängt.
Das Problem hierbei ist, dass ich einen Fehler bekomme wenn ich versuche einen Port zu öffnen wenn dieser schon von einem anderen Programm in beschlag genommen wurde.

Dh. Abfolge:
  • 1. Ports aus Registry
    2. Check welche davon sind belegt
    3. die restlichen nacheinander öffnen und kennung checken, wenn nix zurückkommt-> nächsten port checken

doch wie kann überprüfen ob eine andere Anwendung einen port, und wenn welchen benutzt?

In de Komponente gibt es die prozedur ComPort1.Connected
doch durch herum testen bin ich zum schluss gekommen, dass diese nur checked ob ein Port durch die Komponente geöffnet wurde nicht aber ob sie durch ein anderes Programm geöffnet ist.

Ich hoff jemand hat dazu eine produktive Idee?
mfg Flo
danke schon im Voraus
mfg Flo
  Mit Zitat antworten Zitat
Florian

Registriert seit: 1. Nov 2002
Ort: Österreich
41 Beiträge
 
#2
  Alt 16. Mär 2003, 08:13
Hat den wirklich niemand eine Idee, oder hab ich mich so schlecht ausgedrückt ?
Zumindest ein kleiner Ansatz wäre echt cool.
Danke für eure Hilfe!
mfg Flo
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3
  Alt 16. Mär 2003, 09:29
Wenn du schon eine Fehlermeldung bekommst, wenn der Port von einer anderen Anwendung in Beschlag genommen ist, dann fange die Fehlermeldung doch einfach mit try/except ab und setze im Except-Teil eine Variable auf False.
Delphi-Quellcode:
function PortFrei(const Port: string);
begin
  Result := True;
  try
    Com1.OpenPort(Port); // <-- frei erfunden da ich die Komponente nicht kenne
    Com1.ClosePort;
  except
    Result := False;
  end;
end;
  Mit Zitat antworten Zitat
Florian

Registriert seit: 1. Nov 2002
Ort: Österreich
41 Beiträge
 
#4
  Alt 16. Mär 2003, 15:47
Hehe jojo, des mach ich doch eh schon.
Aber er zeigt mir trotzdem eine Fehlermeldung an, dass ist ja
das was mich so verwirrt, eigentlich sollte keine Meldung kommen.
Aber es wird trotzdem eine angezeigt.

Aber danke für die Tipp

Weiter Möglichkeiten , oder hat jemand eine Erklärung dafür?
mfg FLo
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5
  Alt 16. Mär 2003, 17:27
Zitat von Florian:
Hehe jojo, des mach ich doch eh schon.
Aber er zeigt mir trotzdem eine Fehlermeldung an, dass ist ja
das was mich so verwirrt,
Starte die Anwendung mal aus dem Explorer und nicht aus der IDE raus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Florian

Registriert seit: 1. Nov 2002
Ort: Österreich
41 Beiträge
 
#6
  Alt 1. Apr 2003, 11:07
Du meinst einfach mal die Exe starten oder wie?
naja des geht auch nicht --> selber Fehler!
aber danke trotzdem !
mfg Flo
  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 02:58 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