Hallo!
Ich lese mittels FtpFindFirstFile/InternetFindNextFile die einzelnen Einträge einer Server-Datei ein und speichere sie in einem StringGrid. Funktioniert auch alles einwandfrei.
Wenn ich jetzt mit FtpCreateDirectory ein neues Verzeichnis einfüge, so wird dieses auch ordnungsgemäss eingefügt.
NUR: Wenn ich jetzt den Server neu einlese, werden alle bereits vorher gespeicherten Einträge in das StringGrid neu eingetragen, der neu hinzugekommene Eintrag leider nicht mehr. Hier kommt beim Versuch, RowCount um 1 zu erhöhen die Fehlermeldung, dass der Gitterindex von RowCount außerhalb des zulässigen Bereiches liegt. Wie gibt es so etwas ???
Hier noch der dafür verantwortliche Code-Teil:
Delphi-Quellcode:
for ARow := 1 to Pred(StringGrid.RowCount) do
StringGrid.Rows[ARow].Clear;
StringGrid.FixedRows := 1;
c := StringGrid.FixedRows;
hSearch := FtpFindFirstFile(hConnect, nil, FindData, INTERNET_FLAG_DONT_CACHE, 0);
if hSearch <> nil then
repeat
if (c >= StringGrid.RowCount) then StringGrid.RowCount := c + 1; // <---- hier kommt der Fehler
StringGrid.Cells[0, c] := FindData.cFileName;
StringGrid.Cells[1, c] := IntToStr(FindData.nFileSizeLow);
inc(c);
until NOT (InternetFindNextFile(hSearch, @FindData));
InternetCloseHandle(hSearch);
hSearch := nil;
Vielleicht hatte schon jemand ein ähnliches Problem bzw. wo könnte der Fehler liegen?
mfg
Herbert