hilfdirselbst.ch
Facebook Twitter gamper-media
Bernhard Werner p
Beiträge: 4843
22. Aug 2013, 14:48
Beitrag #1 von 5
Bewertung:
(2444 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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

Lob' das Backup vor dem Restore nicht. Top
 
X
JensTeich  M 
Beiträge: 580
22. Aug 2013, 15:19
Beitrag #2 von 5
Beitrag ID: #516535
Bewertung:
(2426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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

FileMaker Konferenz Oktober 2017 Salzburg!

FileMaker Training per TeamViewer, schnelle Hilfe vom Profi!
als Antwort auf: [#516528] Top
 
Bernhard Werner p
Beiträge: 4843
22. Aug 2013, 16:41
Beitrag #3 von 5
Beitrag ID: #516545
Bewertung:
(2412 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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

Lob' das Backup vor dem Restore nicht.
als Antwort auf: [#516535] Top
 
masterkey
Beiträge: 117
4. Sep 2013, 13:11
Beitrag #4 von 5
Beitrag ID: #516940
Bewertung:
(2282 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


 

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.



************************************

XOJO
Apple-/ShellScript
Mac OS X/-Server
FileMaker Pro Advanced/-Server
Adobe InDesign/-Server
Xcode

************************************
als Antwort auf: [#516528] Top
 
Bernhard Werner p
Beiträge: 4843
17. Sep 2013, 13:52
Beitrag #5 von 5
Beitrag ID: #517412
Bewertung:
(2199 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


Hallo zusammen,

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

Dank und Gruß
Bernhard

Lob' das Backup vor dem Restore nicht.
als Antwort auf: [#516940] Top
 
X