Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi "Eigene" Com-Port Komponente (https://www.delphipraxis.net/50736-eigene-com-port-komponente.html)

fkerber 30. Jul 2005 18:33


"Eigene" Com-Port Komponente
 
Hi!

Soweit ich das überblicken konnte, waren mir alle vorhanden Komponenten für Com-Port (Rs232) zu überladen und nicht genau das, was ich wollte.

Jetzt frage ich mich, wie ich es selber machen kann:
ComPort öffnen ist kein Problem, nur wie bekomme ich mit, dass was da ist für mich, also Zeichen an den Port geschickt wurden?
Also praktisch ein Event für meine Komponente....

Gibts da ne Message oder wie stellen die anderen Komponenten das fest?


Ciao Frederic

Flocke 30. Jul 2005 18:54

Re: "Eigene" Com-Port Komponente
 
Also mit MSDN-Library durchsuchenClearCommPort kriegst du in der COMSTAT-Struktur den Wert cbInQue übergeben, der gibt an wieviele Bytes für ReadFile zur Verfügung stehen.

Bessere Variante ist ein eigener Thread und mit MSDN-Library durchsuchenWaitCommEvent darauf zu warten, dass sich an der seriellen Schnittstelle was tut.

fkerber 31. Jul 2005 02:34

Re: "Eigene" Com-Port Komponente
 
Hi!

Ich lese mir die Links durch, vielen Dank!


Ciao Frederic

fkerber 31. Jul 2005 10:46

Re: "Eigene" Com-Port Komponente
 
Hi!

Zum ersten Link kommt leider:
Zitat:

Sorry, no results were found.

Zum zweiten hätte ich ne Frage:
Wie löse ich das denn aus? Ich müsste ja nen Timer haben, der da ständig anfragt? Das ist bestimmt nicht die richtige Lösung...
Sorry, bin neu auf dem Gebiet...


Ciao Frederic

Flocke 31. Jul 2005 10:48

Re: "Eigene" Com-Port Komponente
 
Zitat:

Zitat von fkerber
Zum ersten Link kommt leider:
Zitat:

Sorry, no results were found.

Sorry, vertippt: Muss MSDN-Library durchsuchenClearCommError heißen.

Beim der ersten Variante (ClearCommError) musst du pollen, d.h. periodisch (z.B. mit einem Timer) abfragen ob Daten angekommen sind.

Bei der zweiten Variante nimmst du am besten einen separaten Thread, denn WaitCommEvent kehrt erst dann zurück, wenn sich der Status des Comports geändert hat (also Verbindung abgebrochen, Daten angekommen, etc.).

Duffy 31. Jul 2005 12:05

Re: "Eigene" Com-Port Komponente
 
Hallo
ist das was für Dich? Ansteuerung der seriellen Schnittstelle mit Hilfe der Windows API

bye
Claus

fkerber 31. Jul 2005 12:08

Re: "Eigene" Com-Port Komponente
 
Hi!

@Flocke:
Dann schau ich mir das mit dem Thread mal an.

@Duffy:
Das hatte ich schon gelesen, da fehlt genau das entscheidende für mich:
Die "Benachrichtigung", dass Daten da sind.


Ciao Frederic

Duffy 31. Jul 2005 12:18

Re: "Eigene" Com-Port Komponente
 
Kennst Du die Komponete von Dejan Crnila. Aus dem Quelltext könntest Du was herleiten. Ansonsten wüßte ich ad hoc nur TurboPower Async Professional (tpapro) .

bye
Claus

fkerber 31. Jul 2005 12:26

Re: "Eigene" Com-Port Komponente
 
Hi!

Vielen Dank, ich schau es mir an.!


Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 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