Einzelnen Beitrag anzeigen

Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#24

Re: ApdCOMPort: Daten gehen bei großen Datenmengen verloren

  Alt 8. Mai 2009, 09:43
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
  Mit Zitat antworten Zitat