[ https://issues.apache.org/jira/browse/THRIFT-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer resolved THRIFT-4462. -------------------------------- Resolution: Fixed Fix Version/s: 0.12.0 Committed, thanks! > First line in Console duplicated > -------------------------------- > > Key: THRIFT-4462 > URL: https://issues.apache.org/jira/browse/THRIFT-4462 > Project: Thrift > Issue Type: Bug > Components: Delphi - Library > Affects Versions: 0.11.0 > Reporter: Anton Shchyrov > Assignee: Jens Geyer > Priority: Minor > Fix For: 0.12.0 > > Attachments: Thrift.Console.patch > > > Method Console.Write/WriteLine in class TGUIConsole after called method > *Write* and clear log duplicates current message > {{ChangeConsole(TGUIConsole.Create(Memo1.Lines));}} > {{Console.Write('String'); // Set internal FLineBreak to False}} > {{Memo1.Lines.Clear;}} > {{Console.Write('Some String'); // Log have "Some StringSome String"}} > Reason in method > {{procedure TGUIConsole.InternalWrite(const S: string; bWriteLine: Boolean);}} > {{var}} > {{ idx : Integer;}} > {{begin}} > {{ if FLineBreak then}} > {{ begin}} > {{ FMemo.Add( S );}} > {{ end else}} > {{ begin}} > {{ idx := FMemo.Count - 1;}} > {{ if idx < 0 then}} > {{ begin}} > {{ FMemo.Add( S );}} > {{ end;}} > {{ FMemo[idx] := FMemo[idx] + S;}} > {{ end;}} > {{ FLineBreak := bWriteLine;}} > {{end;}} > If FMemo.Count = 0 then idx = -1 and string added to log. But next line > {{FMemo[idx] := FMemo[idx] + S;}} > repeats the added string. should be > if idx < 0 then > begin > FMemo.Add( S ); > end *else* > FMemo[idx] := FMemo[idx] + S; -- This message was sent by Atlassian JIRA (v7.6.3#76005)