Seite 2 von 2

Re: Filelänge auf FTP ermitteln

Verfasst: 02.10.2009 17:54
von DarkDragon
SendFTPFile hat bei meinem Router (Speedport W700V) schon einen Crash ausgelöst wenn man auf dem Pfad keine ausreichenden Rechte hatte. Vielleicht ist das derselbe Bug wenn es ein Bug ist.

Re: Filelänge auf FTP ermitteln

Verfasst: 02.10.2009 18:12
von HeX0R
Geht es denn im asynchronen Modus?

Code: Alles auswählen

If OpenFTP(0, server$, user$, pass$, Passiv, 21)
	If SetFTPDirectory(0, "Path")
		If SendFTPFile(0, programm$, programm$, #True)
			Repeat
				k = FTPProgress(0)
				If k = #PB_FTP_Error
					Debug "error!"
					Break
				EndIf
				Delay(10)
			Until k = #PB_FTP_Finished

		EndIf
	EndIf
	CloseFTP(0)
EndIf
Theorie:
Ich denke mal, SendFTPFile legt erst den Dateinamen auf dem FTP an und versucht dann die Datei zu übertragen.
Geht das nicht (weil die Datei blockiert ist), würde eine 0 Byte Datei entstehen.
Dann bleibt natürlich noch die Frage, warum deine Datei blockiert ist.

Re: Filelänge auf FTP ermitteln

Verfasst: 02.10.2009 19:45
von amiga123
Theorie:
Ich denke mal, SendFTPFile legt erst den Dateinamen auf dem FTP an und versucht dann die Datei zu übertragen.
Geht das nicht (weil die Datei blockiert ist), würde eine 0 Byte Datei entstehen.
Dann bleibt natürlich noch die Frage, warum deine Datei blockiert ist.
Es ist so das die Datei die an den FTP gesendet wird erst von meinem Programm erstellt werden muß. Ist sie fertig (Datei natürlich geschlossen) wird sie übertragen.
Jetzt habe ich mal die Routiene so geändert das zuerst noch ein ander Programmabschnitt abgearbeitet wird, und dann erst der FTP Upload stattfindet. Werde es heute nacht mal durchlaufen lassen. (Ist ein Programm auf meinem Server das sowieso rund um die Uhr läuft). Mal sehen ob der Fehler heute oder morgen noch auftritt. Wenn nicht ist das Problem nicht du Update auf den Server sondern das die erzeugte Datei noch nicht ganz fertig war. Warum auch immer ? (Ausser Purebasic überholt sich intern selbst)

Erstmal Danke an alle die hier geholfen haben.

Melde mich auf alle Fälle wie es geht.

Gruß Amiga123

Re: Filelänge auf FTP ermitteln

Verfasst: 02.10.2009 19:52
von jojo1541
>(Ausser Purebasic überholt sich intern selbst)
Dieses Phänomen hatte ich mal bei Changegamma(255,255,255) mit vorherigem CleaScreen() und FlipBufers(), das Gamma wurde erhöt, bevor ClearScreen und FlipBuffers fertig waren, das Bild ist dann immer immer noch mal aufgetaucht(für so ne 10tel sekunde)... :mrgreen:

(war aber ne ältere Pb-version)

Re: Filelänge auf FTP ermitteln

Verfasst: 02.10.2009 19:58
von HeX0R
Das kann auch mit dem Caching zusammenhängen, du könntest auch probieren das zu deaktivieren (FileBuffersSize(#File, 0))

Re: Filelänge auf FTP ermitteln

Verfasst: 02.10.2009 20:01
von amiga123
:mrgreen:

Läuft jetzt geändert sein einer halben Stunde ohne Probleme. Keine Dateilänge mit 0 mehr. Mal schauen wie es morgen aussieht.


Gruß Amiga123

Re: Filelänge auf FTP ermitteln

Verfasst: 03.10.2009 08:49
von amiga123
Gelöst

Also seit gestern Abend läuft das Programm jetzt ohne Probleme. Es war anscheind nicht die Übertragung zum FTP sondern das Programm konnte auf die selbst erzeugte Datei sporadisch nicht zugreifen (Obwohl die Datei geschlossen war).
Habe nur den Befehl DELAY(100) vor der FTP Routine eingebaut, jetzt geht es.

Danke für alle die Geantwortet haben.

Gruß Amiga123 :bounce: