Forenindex » Programmierung/Entwicklung » FileMaker » Feldwert per AppleScript setzen tut nicht, sobald DB vom Server geöffnet

Feldwert per AppleScript setzen tut nicht, sobald DB vom Server geöffnet

Bernhard Werner
Beiträge gesamt: 5131

22. Aug 2013, 14:48
Bewertung:

gelesen: 3093

Beitrag als Lesezeichen
Hallo zusammen,

ich will aus FileMaker heraus den Farbraum einer PSD-Datei auslesen und tue diese mittels do-shell-script aus einem berechneten AppleScript heraus:

Code
do shell script "/usr/bin/mdls -name kMDItemColorSpace /pfad/zur/Datei.psd | tail -1 | cut -d = -f 2 | cut -c 2-" 

Das Ergebnis:

Code
set the_result to result -- /* z.B. '"RGB"' oder '"CMKY"' */ 

wird einem globalen Feld:

Code
set the_database to "datenbankname" 
set the_table to "tabellenname"
set the_field to "feldname"

übergeben:

Code
tell me  
set field the_field of table the_table of database the_database to the_result
end tell


Das funktioniert auch ganz prima - mit einer lokalen Test-Datenbank. Doch sobald eine Datenbank remote geöffnet wird, funktioniert es nicht mehr.

Meine Vermutung ist nun, dass sich das Script am Datenbanknamen stört. Ein Überprüfen mittels Hole ( Datenbanknamen ) liefert aber auch den eingestellten Datenbanknamen.

Was könnte da noch schief laufen? FMPA 11 & FMPS 10 unter 10.6.8

Dank und Gruß
Bernhard

Feldwert per AppleScript setzen tut nicht, sobald DB vom Server geöffnet

JensTeich
  
Beiträge gesamt: 595

22. Aug 2013, 15:19
Bewertung:

gelesen: 3075

Beitrag als Lesezeichen
Der Code sieht gut aus. Ich tippe daher auf ein Missverstaendnis des Verhaltens globaler Felder im Serverbetrieb. Diese leben nur innerhalb einer Session!

Jens
__
jens teich, filemaker certified developer

Feldwert per AppleScript setzen tut nicht, sobald DB vom Server geöffnet

Bernhard Werner
Beiträge gesamt: 5131

22. Aug 2013, 16:41
Bewertung:

gelesen: 3061

Beitrag als Lesezeichen
Hallo Jens,

vielen Dank für die Antwort.

Ich möchte den Wert nicht speichern - falls du das meintest. Ich will ihn nur innerhalb eines FileMaker-Scripts, in dem dieses AppleScript aufgerufen wird, verfügbar machen. Anders - z.B. mittels Hole ( ... ) - ist da ja nicht ranzukommen.

Gruß
Bernhard

Feldwert per AppleScript setzen tut nicht, sobald DB vom Server geöffnet

masterkey
Beiträge gesamt:

4. Sep 2013, 13:11
Bewertung:

gelesen: 2931

Beitrag als Lesezeichen
 

hi bernhard

warum brauchst du beim berechneten applescript ein «tell me» und weshalb möchtest du die datenbank bzw. tabelle angeben und dann erst noch in einem globalen feld zwischenspeichern?


bei mir funktioniert das [fm12 + fmsa12, mac os x 10.8.4]:

Code

set cellValue of cell \"testfeld\" of current record to do shell script \"'/usr/bin/mdls' -name kMDItemColorSpace '/pfad/zur/Datei.psd'|awk -F 'kMDItemColorSpace = \\\"' '{print $2}'|sed s/'\\\"'/''/g\"¶
¶"


man könnte zusätzlich, falls gewünscht, innerhalb des skriptes nach db, tabelle und allenfalls feld sowie der datei fragen bzw. eine auswahl [mit defaultwerten] anbieten.


viel spass.

Feldwert per AppleScript setzen tut nicht, sobald DB vom Server geöffnet

Bernhard Werner
Beiträge gesamt: 5131

17. Sep 2013, 13:52
Bewertung:

gelesen: 2848

Beitrag als Lesezeichen
Hallo zusammen,

ich hatte "nur" bei der Berechnung des Pfades einen Fehler gemacht. Von daher passt alles. :-)

Dank und Gruß
Bernhard