Hallo
Ich habe nachfolgendes Problem wo ich nicht weiterkomme und irgendwie an Ort trete.
Das Skript welches mir ein Problem verursacht macht im wesentlichen folgendes:
1. Funktion: Start eines Programmes Prog.exe
2. Funktion: Sammeln von Informationen um diese in einem info_file.txt File bereitzustellen
3 Funktion: Mittels sFtp das info_file.txt an einen entfernten Server übermitteln.
In seltenen Fällen tritt das Problem auf, dass ich offensichtlich den Fokus von sFtp verliere und den String Always
(angedacht damit die sFtp Verbindung beim erstmaligen Anmelden das Login im known_host Files von sFtp schreibt - no, once, Always)
nicht in die DOX Box mit dem laufenden sFtp sende, sondern in die Login Maske welche durch Funktion 1 ebenfalls gestartet ist.
Wie gesagt trifft dies selten zu und ist m.E. timing abhängig (resourcen/performance).
Ich habe daraufhin das Skript angepasst (rote Zeile) in der Meinung das ich den Focus auf dass, in der Dos Box laufende, sFTp.exe Programm lege > leider ohne Erfolg.
Es kommt immer noch vor das der String "Always" an das aktive Login Fenster gesendet wird.
Hat vielleicht jemand einen guten Rat oder weiss was ich falsch mache?
Gruss thork
Func _Send_Info_File()
if FileExists ($sftp_exe) then
Run ("sftp -i " & $key & " " & $info_file & " uid@tr_fis:/data_in")
If WinWaitActive("C:\Program Files (x86)\Attachmate\Reflection\sftp.exe", "", 5) Then
WinActivate("C:\Program Files (x86)\Attachmate\Reflection\sftp.exe")
Send("Always{Enter}")
EndIf
else
endif
EndFunc