Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mit IO.DLL Com Port schreiben und lesen (https://www.delphipraxis.net/37435-mit-io-dll-com-port-schreiben-und-lesen.html)

paul99 5. Jan 2005 20:40


Mit IO.DLL Com Port schreiben und lesen
 
Hallo,

kennt sich jemand von Euch mit der io.dll für den Comport aus.
ich könnte einen Codeschipsel zum einlesen gebrauchen, ich habe Probleme damit
mein Programm stürzt unrgelmäßig ab. Ich vermute das ich die Bits falsch abfrage.
com1 = $03F8
until GetPortBit(COM1+5, 6)=true;
hier gehe ich davon aus das die Daten versendet wurden.

GetPortBit(COM1+5, 0)=true;
ich gehe davon aus das Daten anliegen

repeat
a[i] := char(PortIn(COM1+0)); // Hier Char einlesen
i := i+1;
until GetPortBit(COM1+5, 0) = false;
und so lese ich ein.

Weiss jemand was ich falsch mache ? :gruebel:
MfG

Muetze1 5. Jan 2005 23:49

Re: Mit IO.DLL Com Port schreiben und lesen
 
Moin!

Warum willst du es unbedingt über den "harten" Weg machen und sprichst den COM Port direkt an? Damit kommst du jedem Programm in die Quere was den COM Port so benutzt. Daher würde ich eher empfehlen die Windows Comm Funktionen zu nutzen und damit kompatibel zu bleiben und vor allem fällt dann die io.dll weg sowie deren Registrierung.

MSDN Communications Overview
MSDN Beispiel (C++)

MfG
Muetze1

paul99 6. Jan 2005 09:28

Re: Mit IO.DLL Com Port schreiben und lesen
 
Hallo,
Danke für deine Antwort,
ich habe das Programm schon über die Windos API geschrieben, das läuft natürlich ohne Probleme,
nur ist es mir viel zu langsam. Auf dem Computer läuft nur das eine Programm, somit greift nichts anderes auf die Schnittstelle zu. Der Computer ist ein alter P450. Wenn es eine andere Möglichkeit gibt die auch schnell ist nutzte ich natürlich diese.
MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz