Thema: Delphi Problem mit ReadFile;

Einzelnen Beitrag anzeigen

EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Problem mit ReadFile;

  Alt 18. Mär 2007, 23:51
Zitat von himitsu:
Also die Kurzfassung zu deinem Code wäre wohl dieser:
Delphi-Quellcode:
function ReadText: char;
var
  nRead: dword;
begin
  if not ReadFile(ComFile, @result, 1, nRead, nil) then
    Result := 'a';
end;
An der Funktion selber liegt es also nicht.

welche Daten empfängst du?
welche Übertragungsrate?
wieoft kommt überhaupt mal was an?
wieviele Zeichen empfängst du? (wie oft wird ReadText aufgerufen)
...


hier wird ja nur ein einziges Byte gelesen, das sollte weniger als ein paar Millisekunden dauern.


Die Funktion wartet allerdings bis ein Zeichen am Port angekommen ist...
solange nichts kommt, wird natürlich gewartet.


Es wäre demnach wohl besser dieses in einen Thread auszulagern,
oder es asynchron laufen zu lassen (schau dir dazu mal an wofür der letzte Parameter dieser Funktion ist).
Bei deiner version schmeißt er mir:
[Pascal Fehler] Unit1.pas(321): E2197 Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
in der ReadFile Zeile an den Kopf...

Das ganze läuft auf 9600,8,N,1 (standard)

Nochmal zu deiner Frage:
Ich bekomme per RS232 schnittstelle einen 0815 sting rein, welchen ich als "String" verarbeiten möchte.

Mfg
Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat