AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mit Indy (TIdFTP) Script hochladen klappt nicht

Mit Indy (TIdFTP) Script hochladen klappt nicht

Ein Thema von BlueStarHH · begonnen am 14. Jun 2011 · letzter Beitrag vom 17. Jun 2011
Antwort Antwort
blackfin
(Gast)

n/a Beiträge
 
#1

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 14. Jun 2011, 15:48
Deine Script-CGI-Datei ist aber nicht zufälligerweise Unicode?
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 14. Jun 2011, 16:21
Deine Script-CGI-Datei ist aber nicht zufälligerweise Unicode?
Nein, kein Unicode. Lädt Indy die Datei intern evtl. als Unicode und überträgt die dann? Mit einer alten nicht Unicode Version von Indy gab es nämlich keine Probleme...
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#3

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 14. Jun 2011, 16:48
Kann gut sein...wenn man sich den Quellcode von der idFTP ansieht, sind da ein paar merkwürdige Sachen mit dem Encoding...
Schickst du an den Server vorher ein "FEAT"-Command?
Da scheint Indy dann das Default Encoding für den String-I/O-Handler auf UTF8 zu stellen:
IOHandler.DefStringEncoding := enUTF8; hm...
Versuche doch mal, die Datei nicht über die Angabe eines Dateinamens im put-Befehl hochzuschieben, sondern mach die Datei vorher über einen TFileStream auf und übergib den an put.
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 10:37
Ich hab den Fehler in der IdFTP.pas gefunden:

Delphi-Quellcode:
procedure TIdFTP.SetTransferType(AValue: TIdFTPTransferType);
begin
  if AValue <> FTransferType then begin
    FTransferType := AValue; //von unten nach hier verschoeben
    if not Assigned(FDataChannel) then begin
      if Connected then begin
        SendTransferType;
      end;
      //FTransferType := AValue; //muss nach oben
    end;
  end;
end;
Wenn die markierte Zeile nicht verschoben wird, setzt SendTransferType immer den vorherigen FTransferType und nicht den aktuellen.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 10:45
Verwendest Du eine ältere Version von Indy?

Bei mir (mit DXE mitgeliefertes Indy 10) steht nämlich schon:
Code:
procedure TIdFTP.SetTransferType(AValue: TIdFTPTransferType);
begin
  if AValue <> FTransferType then begin
    if not Assigned(FDataChannel) then begin
      if Connected then begin
        SendTransferType(AValue);
      end;
      FTransferType := AValue;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#6

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 10:49
Ja eben, er meint ja, dass das Setzen des Wertes weiter nach oben gehört.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 10:55
Deswegen fragte ich nach der benutzten Indy-Version

In aktuellem Indy ist es ja scheinbar schon gefixt, da wäre es aus meiner Sicht sinnvoller, das Indy selber zu aktualisieren als es zu patchen, weil das nur eine weitere Fehlerquelle ist. Beispiel: ich hab neulich die JCL gepatcht. Bug behoben, und Monate später steige ich auf Packages um und suche mir nen Wolf, da etwas plötzlich nicht mehr funktioniert. Dabei kam raus, daß das kompilierte Package den Patch noch nicht drin hatte.

In diesem Sinne war das nur ein unklar ausgedrückter Hinweis aufs updaten
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#8

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 11:12
Nein, was ich meinte: er hat den Code gepatcht und die geänderten Stellen kenntlich gemacht. Du aber sagst, in Deiner Version sei der Patch bereits enthalten, im gezeigten Code ist genau das aber nicht der Fall, die Zuweisung, um die es geht, steht immer noch an der alten Stelle. Aber generell hast Du Recht: wenn man selbst Fremdcode korrigiert läuft man immer Gefahr, nach einem Update wieder längst behobene Fehler zurückzuholen, das ist aber kein spezielles Indy-Problem (OK, hast Du ja auch nicht behauptet).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 11:47
Aaaah...

Die Zuweisung ist im "neueren" Indy 10 zwar immer noch an der alten Stelle, was in diesem Fall aber keine Rolle mehr spielt, da AValue an SendTransferType übergeben wird, das so nicht mehr von FTransferType abhängt.

Insofern ist das Problem im gezeigten Code durchaus schon behoben, nur anders, als es BlueStarHH gemacht hat
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#10

AW: Mit Indy (TIdFTP) Script hochladen klappt nicht

  Alt 17. Jun 2011, 11:54
Oh stimmt, das Parameterchen hatte ich übersehen. Dann nehme ich alles zurück und behaupte das Gegenteil
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz