Zitat von
Trigger2003:
Laß das ApdComPort.ProcessCommunications aber trotzdem drin, gehört einfach in die Warteschleife
Gut, mache bzw. lasse ich. Trotzdem überlege ich noch, die Komponente dahingehend zu erweitern, entweder den Status von InAvailMessage über eine Funktion nach außen zu führen und/oder GetChar mit einem booleanschen Flag ReadOnly:= true/false zu erweitern - oder beides.
Delphi-Quellcode:
function TApdBaseDispatcher.GetChar(
var C : Char; AReadOnly: boolean = false) : Integer;
{-Return next char and remove it from buffer}
begin
EnterCriticalSection(DispSection);
try
(...)
if (InAvailMessage)
or (AReadOnly)
then begin
Inc(GetCount);
Result := PeekCharPrim(C, GetCount);
if Result < ecOK
then begin
Dec(GetCount);
Exit;
end;
end else begin
(...)
finally
LeaveCriticalSection(DispSection);
end;
end;
Gruß, Carsten