Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript InDesign CS2 (4.0.4) Absturz bei XML-Import

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

InDesign CS2 (4.0.4) Absturz bei XML-Import

pjoern
Beiträge gesamt: 110

9. Nov 2006, 16:20
Beitrag # 1 von 5
Bewertung:
(1509 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe Helfer, lieber Hans,

ich habe ein „kleines“ Problem bei folgender Situation.
Ein Script zum importieren von XML in InDesign welches auf
meinem Mac (OS X 10.4, InDesign CS2 4.0) ohne Probleme läuft, hat leider auf einem
weiteren Mac (OS X 10.4, InDesign CS2 4.0.4) so seine Schwierigkeiten.

Die Stelle im Script wo ich die Importanweisung gebe sieht (stark vereinfacht) wie folgt aus:

Code
try 

import XML from myXMLfile

on error

close myINDDdocument saving no

end try


Auf meinem Mac wird im Falle eines Importfehlers das Dokument geschlossen und die Routine läuft weiter …

Auf dem anderen Mac stürzt bei einem Importfehler InDesign in Toto ab und ein Dialog zum Senden eines Berichts poppt auf.

Mein Frage:
Kann man im Falle eines Absturzes diesen Bericht-senden-Dialog unterdrücken? <- via AppleScript?

Danke für Eure Hilfe.
X

InDesign CS2 (4.0.4) Absturz bei XML-Import

pjoern
Beiträge gesamt: 110

10. Nov 2006, 09:33
Beitrag # 2 von 5
Beitrag ID: #421323
Bewertung:
(1508 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo.
Das obige Problem ist keines vom System gewesen sondern lag am "unsauberen" Code.

Gruss, pjoern


als Antwort auf: [#421322]

InDesign CS2 (4.0.4) Absturz bei XML-Import

Hans Haesler
  
Beiträge gesamt: 5826

10. Nov 2006, 10:45
Beitrag # 3 von 5
Beitrag ID: #421324
Bewertung:
(1508 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo pjoern,

ich habe Deinen Beitrag erst jetzt entdeckt.

Gut, dass Du die Lösung des Problems gefunden hast. Ich habe
mich bisher noch nicht mit XML befasst, werde mich aber bestimmt
bald einmal damit auseinandersetzen müssen.

Deshalb interessiert mich: Was war denn im Code nicht sauber?

Gruss, Hans


als Antwort auf: [#421322]

InDesign CS2 (4.0.4) Absturz bei XML-Import

pjoern
Beiträge gesamt: 110

10. Nov 2006, 12:16
Beitrag # 4 von 5
Beitrag ID: #421325
Bewertung:
(1508 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das eigentliche Script ist mit all seinen Aufgaben (Suchen und Ersetzen,  Logg.txt schreiben, Auslesen der XML-Dateinamen zum erzeugen der richtigen INDD-Daten, Ebenen ein-/ausblenden, leere Grafik- und Textrahmen löschen, Spaltenumbruch bei mehrspaltigen Textrahmen, … usw.) im Laufe der letzen Monate auf ca. 8 DIN A4 Seiten gewachsen.

Drum hier der stark vereinfachte Aufbau des (Drop-)Scripts:

Code
on open meineXMLfiles 
tell application "Finder"

repeat with i from 1 to length of meineXMLfiles
set aktXMLfile to item i of myXMLFiles

set aktXMLfile to aktXMLfile as alias

tell application "Adobe InDesign CS2"
open aktXMLfile

set Satzdatei to active document
tell Satzdatei

try
import XML from aktXMLfile
set XML_OK to 1
on error
set XML_OK to 2
end try

if XML_OK = 1 then

-- mache Dies und Das
else

close Satzdatei saving no

end if

end tell
end tell

end repeat
end tell
end open



Sollte beim Import von XML ein Fehler auftauchen (zu 99 % fehlt bei mir dann ein Bild, welches durch das XML-Dokument zugewiesen wird) dann soll er die „Arbeit“ an der gerade geöffneten Satzdatei beenden.

Im Grunde eine recht simple Sache.


Gruss, pjoern


als Antwort auf: [#421322]

InDesign CS2 (4.0.4) Absturz bei XML-Import

Hans Haesler
  
Beiträge gesamt: 5826

10. Nov 2006, 14:07
Beitrag # 5 von 5
Beitrag ID: #421326
Bewertung:
(1508 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo pjoern,

ich werde mich nie mit Konstrukten anfreunden können, in welchen sich der
ganze Ablauf innerhalb einer tell-application-"Finder"-Schleife befindet.
Inklusive Aufrufen von andern Programmen. Wie hier InDesign. Zudem braucht es
hier den Finder gar nicht. Siehe unten.

Und bei einem Problem wird dem aktiven InDesign-Dokument gesagt, es solle sich
selber schliessen. Geht das? Ja, es geht, weil Satzdatei eine Referenz ist.

Statt der Variablen XML_OK die Werte 1 oder 2 zuzuweisen, verwende ich gerne
true oder false. Es macht zwar keinen Unterschied. Benötigt einzig weniger
Zeilen. und weniger A4-Seiten. ;-)
---
on open meineXMLfiles
   repeat with i from 1 to count of meineXMLfiles
      set aktXMLfile to (item i of meineXMLfiles) as alias
      openDocument(aktXMLfile)
   end repeat
[color=#0000FF]end open

on[/color] openDocument(aktXMLfile)
   tell application "Adobe InDesign CS2"
      open aktXMLfile
      
      set Satzdatei [color=#0000FF]to active document
      tell[/color] Satzdatei
         
         set XML_OK [color=#0000FF]to false
         try
            import XML from[/color] aktXMLfile
            set XML_OK [color=#0000FF]to true
         end try
         
         if
[/color] XML_OK then
            -- mache Dies und Das
         [color=#0000FF]else
            close[/color] Satzdatei [color=#0000FF]saving no
         end if
         
      end tell
   end tell
end
[/color] openDocument
---

Man könnte aber auch das true oder false weglassen und direkt handeln.
Mit return kehrt man in den on-open-Handler zurück:
---
on open meineXMLfiles
   repeat with i from 1 to count of meineXMLfiles
      set aktXMLfile to (item i of meineXMLfiles) as alias
      openDocument(aktXMLfile)
   end repeat
end open

on openDocument(aktXMLfile)
   tell application "Adobe InDesign CS2"
      try
         open aktXMLfile
      on error
         return
      end try
      
      try
         tell document 1
            import XML from aktXMLfile
         end tell
      on error
         close document 1 saving no
         return
      end try
      
      tell document 1
         -- mache Dies und Das
      end tell
      
   end tell
end openDocument
---
Gruss, Hans


als Antwort auf: [#421322]
X