以下两个地方,是yiping提出的修正: bug1: SynCompletionProposal.pas function MatchItem(AIndex: Integer; UseItemList: Boolean): Boolean; var CompareString: string; begin { if UseInsertList then CompareString := FInsertList[AIndex] else begin CompareString := FItemList[AIndex];
if UsePrettyText then CompareString := StripFormatCommands(CompareString); end;}
if UseInsertList then begin //add by yiping 2008-6-29 //如果这里不进行判断,在用到insertlist里,如果insertlist没有值,会触发一个索引溢出异常 if AIndex > FInsertList.Count - 1 then begin Result := false; exit; end; CompareString := FInsertList[aIndex] end
bug2: synedit.pas procedure paintlines; .....
//修正在横向滚动时有乱码的错误 // Modified by yiping 2008-7-2 1:01:11 增加判断 (Length(sLine)>=vFirstchar) if Assigned(fHighlighter) and (Length(sLine)>=vFirstchar) and (ByteType(sLine, vFirstChar) = mbTrailByte) then begin vFirstChar := vFirstChar - 1; offsetX := true; end else begin offsetX := false; end;
[DCC Error] SynCompletionProposal.pas(3279): E2010 Incompatible types: 'AnsiChar' and 'Char'
procedure CopyStringToCharSet(const AStr: string; var ACharSet: TSynIdentChars); //说明:TSynIdentChars = set of char; var i: Integer; begin for i := 1 to Length(AStr) do Include(ACharSet, AStr[i]);//报错delphi2010 end;