![]() |
Exeption bei ReadCom
Zitat:
Delphi-Quellcode:
die Com Funktionen
var
i : Integer; c : Array of Byte; begin SetLength(c,10); WriteCom(@Start,sizeOf(Start)); if not ReadCom(@c,9) then//****hier nicht WriteCom(@Start3,sizeOf(Start3)) else WriteCom(@Start2,sizeOf(Start2)); if not ReadCom(@c,9) then//****aber hier AddLinesLOG(3,'Nicht erfolgt'); end;
Delphi-Quellcode:
das ComLog
function ReadCom(Buf:Pointer; BufLen :Dword) : boolean;
var dErr: Dword; begin result := False; if (hCom<>INVALID_HANDLE_VALUE)and(Buf<>Nil)and(BufLen<>0) then begin rxlen:=0; if FlgOvrlp then begin COMrd.hEvent:=CreateEvent(Nil,TRUE,FALSE,Nil); if not ReadFile(hCom,Buf^,BufLen,rxLen,@COMrd) then begin if not GetOverlappedResult(hCom,COMrd,rxLen,True) then begin end; end; // ResetEvent(COMrd.hEvent); CloseHandle(COMrd.hEvent); end else begin if not ReadFile(hCom,Buf^,BufLen,rxLen,Nil) then begin // ClearCommError(hCom,dErr,Nil); // exit; end; end; if rxLen = BufLen then begin result := True; // frmMain.AddTerminalLog(Buf,BufLen,'TX'); end else ClearCommError(hCom,dErr,Nil); end; end; function WriteCom(Buf:Pointer; BufLen:Dword) : boolean; Var dErr: Dword; begin result:=FALSE; if (hCom<>INVALID_HANDLE_VALUE)and(Buf<>Nil)and(BufLen<>0) then begin txLen:=0; if FlgOvrlp then begin COMwr.hEvent:=CreateEvent(Nil,TRUE,FALSE,Nil); if not WriteFile(hCom,Buf^,BufLen,txLen,@COMwr) then begin if not GetOverlappedResult(hCom,COMwr,txLen,True) then begin end; // ClearCommError(hCom,dErr,Nil); end; // ResetEvent(COMwr.hEvent); CloseHandle(COMwr.hEvent); end else begin if not WriteFile(hCom,Buf^,BufLen,txLen,Nil) then begin // ClearCommError(hCom,dErr,Nil); // exit; end; end; if txLen = BufLen then result:=TRUE else ClearCommError(hCom,dErr,Nil); end; end; Zitat:
|
Re: Exeption bei ReadCom
Delphi-Quellcode:
ReadCom(@c[0], ...);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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