Ich habe deine Antworten erst jetzt gesehen. Fällt dir wirklich nichts auf an deiner Einrückung (siehe Kommentar)?
Delphi-Quellcode:
function TForm1.TGPuttySFTPClient1SFTPListing(Sender: TObject; const Items: TSFTPItems): Boolean;
var StartRow,i:Integer;
begin
StartRow:=RemoteFilesSG.RowCount;
RemoteFilesSG.RowCount:=StartRow+Length(Items);
for i:=0 to Length(Items)-1 do begin // <-- hier ist ein begin, aber wo ist das end?
RemoteFilesSG.Cells[0,StartRow+i]:=Items[i].filename;
RemoteFilesSG.Cells[1,StartRow+i]:=DateTimeToStr(TTimeZone.Local.ToLocalTime(UnixToDateTime(Items[i].attrs.mtime)));
if Items[i].attrs.permissions and $F000 = $4000 then
sgRemoteFiles.Cells[2,StartRow+i]:='<dir>'
else
sgRemoteFiles.Cells[2,StartRow+i]:=IntToStr(Items[i].attrs.size);
end;
Result:=true;
end;
Deshalb ist es äußerst schlechter Coding Style, wenn man das begin hinten an eine Zeile anhängt oder bei if..then in der gleichen Zeile weitermacht. Man übersieht es so viel zu leicht. Ein Befehl pro Zeile.
Ja, ich habe gesehen, dass du das beim begin ansonsten auch so gemacht hast.