Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript QuarkXPress 11.2 - Coerce Befehl

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

QuarkXPress 11.2 - Coerce Befehl

Andreas78m
Beiträge gesamt: 33

23. Dez 2016, 09:23
Beitrag # 1 von 6
Bewertung:
(3815 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

hab die Suchfunktion genutzt und fest gestellt das die "coerce" Funktion in XPress wohl schon immer ein kleines Problem war.

Allerdings in der 11.2 Version von XPress unter MacOS 10.10.5 scheint der Befehl nun gar nicht mehr richtig zu funktionieren.

Was mir im Quark XPress 9.x noch aus z.B. "12 pt" und in real noch den sauberen Wert "12" zurück gegeben hat, kommt jetzt nur noch eine Fehlermeldung wie.

"QuarkXPress" hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ gewandelt werden.

Genau jene Meldung, wie wenn man ein String mit "as" in z.B. real oder dergleichen wandeln möchte.

Hat einer von Euch eine Idee, wie man das umschiffen kann oder gibt es eine Alternative dafür?
X

QuarkXPress 11.2 - Coerce Befehl

Hans Haesler
  
Beiträge gesamt: 5826

23. Dez 2016, 11:29
Beitrag # 2 von 6
Beitrag ID: #554618
Bewertung:
(3776 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

wie lautet denn Dein Code?

Vor Jahren konnten Werte mit einem Einzeiler umgewandelt werden

Code
tell application "QuarkXPress 7.31" 
tell current box
set boxBounds to bounds
set {y1, x1, y2, x2} to (coerce boxBounds to list)
end tell
end tell

Damals funktionierte das. Aber Mit neueren Versionen bekommt man ein Ergebnis wie:
{«data FXVM7BBD9E00», «data FXHM20108800», «data FXVM41201001», «data FXHMB3D98C01»}

Wenn die Werte einzeln behandelt werden, sollte es klappen:

Code
tell application "QuarkXPress" 
tell current box
set boxBounds to bounds as list
set y1 to coerce item 1 of boxBounds to real
set x1 to coerce item 2 of boxBounds to real
set y2 to coerce item 3 of boxBounds to real
set x2 to coerce item 4 of boxBounds to real
end tell
end tell
{y1, x1, y2, x2}

Ergebnis: {56.000061035156, 48.000030517578, 96.000061035156, 140.0}

Gruss, Hans


als Antwort auf: [#554614]

QuarkXPress 11.2 - Coerce Befehl

Andreas78m
Beiträge gesamt: 33

23. Dez 2016, 15:51
Beitrag # 3 von 6
Beitrag ID: #554626
Bewertung:
(3740 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wir nutzen es für die Textbox Anpassung, aber auch eine Variable als String lässt sich nicht mehr wandeln.

Code
tell document 1 of application "QuarkXPress" 
tell thisBox
set height of bounds to 300
tell story 1
repeat while character -1 is return
delete character -1
end repeat
set basePos to ((baseline of line -1))
set basePos to coerce basePos to number
end tell
set tSize to (size of character -1)
set tSize to coerce tSize to number
set height of bounds to basePos + (tSize / 6)
end tell
end tell


In dem Fall weigert er das wandeln von basePos und tSize zu number. Eigentlich was relativ einfaches. Hab es vorerst jetzt mal so gelöst das ich das Leerzeichen und "mm" oder "pt" einfach raus lösche und dann den Wert als Number weiter verarbeite.

War aber bisher auf der anderen Weise wesentlich praktischer.


als Antwort auf: [#554618]

QuarkXPress 11.2 - Coerce Befehl

Hans Haesler
  
Beiträge gesamt: 5826

23. Dez 2016, 18:03
Beitrag # 4 von 6
Beitrag ID: #554632
Bewertung:
(3716 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

ich habe den Anfang des Codes so geändert:

Code
tell document 1 of application "QuarkXPress" 
activate
tell current box

Dann eine Textbox ausgewählt und das Script gestartet.

Der Verlauf des Event-Protokolls:

Code
tell application "QuarkXPress" 
activate
set height of bounds of current box of document 1 to 300
get last character of story 1 of current box of document 1
--> "."
get baseline of last line of story 1 of current box of document 1
--> «data FXVM1433C400»
coerce «data FXVM1433C400» to number
--> 69.214965820312
get size of last character of current box of document 1
--> «data F_FN00000C00»
coerce «data F_FN00000C00» to number
--> 12
set height of bounds of current box of document 1 to 71.214965820312
end tell

Sowohl die Position der Baseline als auch die Schriftgrösse werden problemlos umgewandelt.

Wie sieht bei Dir das Eventprotokoll aus?

Gruss, Hans


als Antwort auf: [#554626]

QuarkXPress 11.2 - Coerce Befehl

Andreas78m
Beiträge gesamt: 33

27. Dez 2016, 09:32
Beitrag # 5 von 6
Beitrag ID: #554646
Bewertung:
(3536 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
error "„QuarkXPress“ hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ umgewandelt werden." number -1700 to item 


Leider kommt es bei mir gar nicht so weit das etwas in den "Events" usw. Leiste erscheint... bei der Gelegenheit dachte ich das Protokolle bisher auch erstellt werden bis etwas abbricht.

Die Meldung oben taucht bei mir lediglich unter "Ergebnis" auf.

Ansonsten hab ich an der Stelle das Script wie Du seperat gespeichert und verändert und einfach in einem neuem Dokument eine Text-Box aufgezogen und etwas Blindtext rein geschrieben.

Beste Grüße,
Andreas


als Antwort auf: [#554632]

QuarkXPress 11.2 - Coerce Befehl

Andreas78m
Beiträge gesamt: 33

27. Dez 2016, 14:24
Beitrag # 6 von 6
Beitrag ID: #554649
Bewertung:
(3490 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kleiner Nachtrag:
http://forums.quark.com/viewtopic.php?f=21&t=28219

Hab mich mal ein wenig intensiver im Netz nach dem Thema umgeschaut und scheinbar ist das Problem wohl bekannt.

Leider konnte ich bisher aber nur die 11.2 (27667) testen und nicht die neuste 11.2.0.5 Quark Version.

Vielleicht würde sich damit das Problem von selbst lösen?!


als Antwort auf: [#554646]
X