Seite 2 von 2
Verfasst: 26.09.2008 22:09
von DrNo
Hm...das hatte ich nicht genau gemeint, aber auch schon in erwägung gezogen. Aber damit kann ich ja keine Ordner oder so öffnen.
mit dem WebGadget gehts so erstmal auch.
"Wichtiger:" Weis einer wie ich den Parameter in der 2. Frage ändern muss!?
Verfasst: 26.09.2008 22:48
von DrNo
Ok, was anderes...
Ich habe Probleme mit der Uploadfunktion. Irgentwas stimmt da nicht, das Programm hängt sich auf, hab aber kp warum. Könnt ihr bitte mal schauen? Hier der Codeabschnitt (wenn nötig poste ich halt den ganzen):
Code: Alles auswählen
If Event = #PB_Event_Gadget
If EventGadget() = 17
StandardFile$ = "C:\"
Pattern$ = "Alle Dateien (*.*)"
Pattern = 0
file$ = OpenFileRequester("Datei wählen...", StandardFile$, Pattern$, Pattern)
If ReadFile(0, file$)
length = Lof(0)
*MemoryID = AllocateMemory(length)
If *MemoryID
bytes = ReadData(0, *MemoryID, length)
EndIf
CloseFile(0)
EndIf
StatusBarText(0, 1, "Status: Upload wird vorbereitet...")
url$ = GetGadgetText(15)
ftppath$ = GetURLPart(url$, #PB_URL_Path)
SetFTPDirectory(0, ftppath$)
DisableGadget(17, 1)
DisableGadget(18, 1)
DisableGadget(20, 1)
SetGadgetAttribute(19, #PB_ProgressBar_Maximum, bytes)
Delay(3000)
StatusBarText(0, 1, "Status: Uploade Datei ("+Str(bytes)+" bytes)...")
If SendFTPFile(0, file$, ftppath$, Asynchron)
Repeat
SetGadgetState(19, FTPProgress(0))
Until FTPProgress(0) = #PB_FTP_Finished
Else
StatusBarText(0, 1, "Status: Fehler")
DisableGadget(17, 0)
DisableGadget(18, 0)
DisableGadget(20, 0)
EndIf
Delay(1000)
SetGadgetText(15, ServerName$)
StatusBarText(0, 1, "Status: Datei erfolgreich hochgeladen")
EndIf
EndIf
wär net von euch,
grüße DrNo
Verfasst: 26.09.2008 22:54
von STARGÅTE
einerseits "hängt" es weil nie nicht ein mal ein WindowEvent in deiner Abfolge an Befehlen hast ...
außerdem gabs man den FTP-Bug das manchmal NIE #PB_FTP_Finished erreicht wird ...
die ganzen Delay() die bis zu 3s bei dir sind blockieren ja alles !
Verfasst: 26.09.2008 23:03
von DrNo
Achso danke, dass wusste ich nicht...
was kann ich dann als alternative für finished nehmen?
Und die Delay waren eigentlich nur als kurze wartezeiten gedacht damit der User übberhaupt die einzelnen schritte unten in der statusbar mitverfolgen kann.
grüße DrnO