AppleScript - Fehler die vom Standort abhängig sind

ObiTobi

ObiTobi

Aktives Mitglied
Thread Starter
Dabei seit
05.11.2009
Beiträge
1.536
Reaktionspunkte
91
Hallo,

ich verstehe es nicht mehr. Ich hebe es mehrere Male verifiziert und habe absolut keine Ahnung wo AppleScript ein Problem hat.

Rufe ich mein Script zu Hause nach einem Reboot und später nach einem DeepSleep läuft alles wie es soll. Die Kontenmappe wird geöffnet, Passwort übergeben usw.
Versuche ich aber mein Script woanders als zu Hause aufzurufen z.B wenn ich Unterwegs bin und DSL oder UMTS Verbindung habe, läuft es nicht.
Es kommt Fehlermeldung "Programm wurde nicht gefunden". Dabei geht es um die Zeile "open document file..."
Das Problem scheint der Ordner "Bank X" zu sein. Liegt die Kontenmappe direkt im Home, so scheint es keine Probleme geben. Hier habe ich allerdings noch zu wenig getestet um es 100% sagen zu können.

Starte ich Bank X selbst, kann ich natürlich jeder Zeit also auch Unterwegs die Kontenmappe öffnen.

Code:
tell application "Finder"
	open document file Kontendatei of folder "Bank X" of folder "Online Banking" of home using application file id "de.ash.bankx"
	if a is "Ja" then
		tell application "System Events"
			activate application id "de.ash.bankx"
			keystroke pwd
			keystroke return
			delay 1
		end tell
	end if
...
...
end tell


Jat vielleicht jemand ein gute Idee?
 
"a" ist genauso wie "Kontendatei" und "pwd" eine Variable die vorher definiert und gesetzt wird.
Das was ich hier gepostet habe ist natürlich nur ein Teil des Scripts.
 
Inzwischen kann ich auch so weit feststellen wann das Problem auftreten "wird". Wenn ich im AppleScript Editor das Script öffne und Bank X nicht gestartet wird, kommt diese Fehlermeldung.
Sieht für mich so aus als ob OSX die File Association verlieren wurde oder aber Bank X aus der Library rausfliegen wurde.

Gehe ich dann hin und klicke auf die Kontenmappe im Finder, wird Bank X brav gestartet. Dann kann ich Bank X auch beenden und mein Script läuft auch wieder. Bis zum nächsten mal.
Total unbefriedigend die Situation. :(

Wirklich keiner eine Idee womit das zusammenhängt?
 
Kenne leider "Bank X" überhaupt nicht, aber Deinen Beispielen entnehme ich, daß das Programm nicht wirklich scriptfähig ist, oder täusche ich mich?
Frage, diese Zeile:
PHP:
tell application "Finder" to open document file Kontendatei of folder "Bank X" of folder "Online Banking" of home using application file id "de.ash.bankx"
funktioniert immer, d.h. Dein Dokument wird in Bank X geöffnet ?

Ciao
Farid
 
Nein eben nicht - siehe oben. Also an sich funktioniert Bank X mit Apple Script. Ist dokumentiert, entsprechendes "Funktions Verzeichnis" ist vorhanden usw. Bei dieser Zeile gibt es aber eben "manchmal" Probleme.
Für mich sieht es so aus als Finder oder OSX (wer auch immer dafür zuständig" ist, ab und zu nicht wusste welches Programm sich hinter "de.ash.bankx" verbirgt.
Wenn ich in eine Fehlersituation laufe (Programm wurde nicht gefunden) dann kann ich auf die Kontenmappe.pea Datei im Finder klicken, dann wird Bank X mit der Kontenmappe gestartet. Jetzt kann ich Bank X wieder beenden und mein Script starten. Funktioniert perfekt.
Also irgendwo ein ganz doofer Wurm drin nur wo
 
Nun, wenn Bank X scriptfähig ist, kannst Du nicht einfach so etwas benutzen:
PHP:
tell application "Bank X"
open pfad/zu/dokument as alias
end tell
?

Ciao
Farid
 
An sich schon aber - ich kriege dann mit dem Teil

"tell application "System Events"
activate application id "de.ash.bankx"
keystroke pwd
keystroke return
delay 1
end tell"
Das Passwort nicht übergeben.
 
Mal langsam, zum mitschreiben :D
Das klappt nicht ? :
PHP:
tell application "Bank X"
activate
open pfad/zu/dokument as alias
end tell
if a is "Ja" then
		tell application "System Events"
			--activate application id "de.ash.bankx"
			keystroke pwd
			keystroke return
			delay 1
		end tell
	end if
Ciao
Farid
 
Nein, das funktioniert nicht.

Es ist so Bank X startet und bringt das Dialogfenster hoch wo man Passwort eingeben kann. Script steht :) und geht erst dann weiter wenn ich Passwort manuell eingegeben habe oder aber Dialogbox abbreche.
 
Zurück
Oben Unten