Thema: Delphi Problem mit tgputtysftp

Einzelnen Beitrag anzeigen

H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
267 Beiträge
 
Delphi 11 Alexandria
 
#1

Problem mit tgputtysftp

  Alt Gestern, 11:54
Moin,

ich habe hier ein Problem mit tgputtysftp das ich nicht verstehe:

ich habe auf dem Server ein Verzeichnis mit 40 Dateien, diese lese ich mit folgendem Code ein:

aus tgputtysftp:
Delphi-Quellcode:
function ls_callback(const names:Pfxp_names;const libctx:PTGLibraryContext):Boolean; cdecl;
var TGPSFTP:TTGPuttySFTP;
begin
  TGPSFTP:=TTGPuttySFTP(libctx.Tag);
  if Assigned(TGPSFTP.OnListing) then Result:=TGPSFTP.OnListing(names)
    else Result:=true;
end;
Eigener Source:
Delphi-Quellcode:
function TTestForm.ListingCallback(const names: Pfxp_names): Boolean;
var StartRow,
    i: Integer;
begin
  Dateiliste.Clear;
  for i := 0 to names.nnames -1 do
  begin
    DateiListe.Add(Utf8ToString(Pfxp_name_array(names.names)[i].filename));
  end;
  Result := true;
end;
und
Delphi-Quellcode:
    TestFuerLbl.Caption := 'Test auf Daten / ZRBeleg';
    TestForm.TestSFTP.ChangeDir('../ZRBELEG');
    TestForm.TestSFTP.Listdir('.');
Wenn ich das laufen lasse und mir stepweise Dateiliste anschaue dann ist Dateiliste nach dem Durchlau in ListingCallback auch mit 40 Dateien gefüllt. Dann wird aber die function ls_callback zweimal (!) aufgerufen. Nach dem ersten Mal sind immer noch 40 Dateien in der Dateiliste, nach dem zweiten Mal ist names.nnames aber nur 24 und daher sind auch nur noch 24 Dateien vorhanden.

Ich habe von dem ls_callback und was da passiert überhaupt keine Ahnung - woran kann das liegen und vor allem - wie kann ich das umgehen ?

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat