#1 2017-02-15 08:01:25

jaclas
Member
Registered: 2014-09-12
Posts: 215

[dcc32 Error] SynLog.pas(2299): E2012 Type of expression must be BOOLE

In SyslogMessage():

  if trimmsgfromlog and (len>27) then 
    if (P[0]='2') and (P[8]=' ') then begin
      inc(P,27); // trim e.g. '20160607 06442255  ! trace '
      dec(len,27);
    end else
    if HexToBin(P,nil,8) then begin   <------------------------------ line with error message
      inc(P,25); // trim e.g. '00000000089E5A13  " info '
      dec(len,25);
    end;

Delphi Berlin

Last edited by jaclas (2017-02-15 08:03:29)

Offline

#2 2017-02-15 08:05:23

jaclas
Member
Registered: 2014-09-12
Posts: 215

Re: [dcc32 Error] SynLog.pas(2299): E2012 Type of expression must be BOOLE

Probably conflict in function name with unit System.Classes:

function HexToBin(Text: PWideChar; Buffer: PAnsiChar; BufSize: Integer): Integer; overload;

Offline

#3 2017-02-15 18:04:18

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: [dcc32 Error] SynLog.pas(2299): E2012 Type of expression must be BOOLE

Yes, you are right.

Fixed by https://synopse.info/fossil/info/74b3af8c4f

Offline

Board footer

Powered by FluxBB