[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

JuMayr
Beiträge gesamt: 96

22. Dez 2011, 14:08
Beitrag # 1 von 20
Bewertung:
(8192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich verzweifle mal wieder.
Es gibt in den InDesign Samples ein Script namens MakeGrid.jsx.

Nun habe ich versucht dieses Script als Menüeintrag hinzuzufügen.

MakeGrid2.jsx ist das StartUp Script
MakeGrid_org.jsx ist das Script, das ausgeführt werden soll.

Wenn nun in einem Dokument ein Frame markiert wird und ich das MakeGrid_org.jsx über das Scriptpanel ausführe, dann klappt alles wunderbar.
Sobald ich den zugehörigen Menüeintrag aufrufe, wird das script ausgeführt, aber direkt danach kommt es zu einem InDesign (Win/CS5) Crash.

Ich habe keine Idee, woran das liegen kann.
Daher meine Bitte. Könnte irgendjemand mal testen, ob bei ihm das selbe passiert?
Ob ich irgendwo etwas wesentliches übersehen habe.

Anhang:
makegrid.zip (2.96 KB)
X

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

Martin Fischer
  
Beiträge gesamt: 12494

22. Dez 2011, 14:57
Beitrag # 2 von 20
Beitrag ID: #486791
Bewertung:
(8170 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

ich bekomme Dein Skript nicht zum Laufen.
Vermutlich weil ich ihm nicht die Umgebung liefern kann, die es erwartet.

Aber ich kann bestätigen, dass es bisweilen Probleme bereitet, ein Skript, das über die Palette und über ESTK ohne Mucken läuft, in das Menü einzuhängen. Siehe z.B. http://www.hilfdirselbst.ch/..._P455151.html#455151.

Quarz hat in http://www.hilfdirselbst.ch/..._P456866.html#456866 einen Zusammenhang mit einer Selection herausgefunden. Spielt das bei Dir auch eine Rolle?

Viele Grüße
Martin




als Antwort auf: [#486779]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

JuMayr
Beiträge gesamt: 96

22. Dez 2011, 14:59
Beitrag # 3 von 20
Beitrag ID: #486793
Bewertung:
(8166 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] Hallo Jürgen,

ich bekomme Dein Skript nicht zum Laufen.
Vermutlich weil ich ihm nicht die Umgebung liefern kann, die es erwartet.

Aber ich kann bestätigen, dass es bisweilen Probleme bereitet, ein Skript, das über die Palette und über ESTK ohne Mucken läuft, in das Menü einzuhängen. Siehe z.B. http://www.hilfdirselbst.ch/..._P455151.html#455151.

Quarz hat in http://www.hilfdirselbst.ch/..._P456866.html#456866 einen Zusammenhang mit einer Selection herausgefunden. Spielt das bei Dir auch eine Rolle?


Ja, das Script teilt ein selektiertes Frame in mehrere kleinere Frames auf.
Danke. Werde den Links mal folgen.


als Antwort auf: [#486791]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

WernerPerplies
Beiträge gesamt: 2663

23. Dez 2011, 06:54
Beitrag # 4 von 20
Beitrag ID: #486816
Bewertung:
(8114 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

Zitat Daher meine Bitte. Könnte irgendjemand mal testen, ob bei ihm das selbe passiert?


Ja, passiert.

Und es liegt nicht an der Selektion des Rahmens.

Ich habe das Scipt etwas umgebaut und lade den Rahmen direkt in die Objektliste: -> gleiches Verhalten.

Danach habe ich den Teil mit dem Dialogfenster entfernt und die Splitroutine direkt mit den Standardparametern aufgerufen:
-> Das Skript funktioniert jetzt einwandfrei.

Versuche einfach mal, statt des Dialogfensters ein Fenster des Typs Panel oder Window (ScriptUI) zu verwenden, vielleicht klappt's dann.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
Kundenstimmen


als Antwort auf: [#486779]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

JuMayr
Beiträge gesamt: 96

23. Dez 2011, 07:59
Beitrag # 5 von 20
Beitrag ID: #486817
Bewertung:
(8097 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ WernerPerplies ] Hallo Jürgen,

Zitat Daher meine Bitte. Könnte irgendjemand mal testen, ob bei ihm das selbe passiert?


Ja, passiert.

Und es liegt nicht an der Selektion des Rahmens.

Ich habe das Scipt etwas umgebaut und lade den Rahmen direkt in die Objektliste: -> gleiches Verhalten.

Danach habe ich den Teil mit dem Dialogfenster entfernt und die Splitroutine direkt mit den Standardparametern aufgerufen:
-> Das Skript funktioniert jetzt einwandfrei.

Versuche einfach mal, statt des Dialogfensters ein Fenster des Typs Panel oder Window (ScriptUI) zu verwenden, vielleicht klappt's dann.


Vielen Dank. Auf die Idee muss man erstmal kommen.
Das werde ich nachher gleich mal ausprobieren.
HERZLICHEN DANK und ein frohes Weihnachtsfest an alle.


als Antwort auf: [#486816]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

Gerald Singelmann
  
Beiträge gesamt: 6249

23. Dez 2011, 09:38
Beitrag # 6 von 20
Beitrag ID: #486822
Bewertung: |||
(8073 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Löschen Sie die Zeile raus, die den Dialog entfernt, vermutlich "myDialog.destroy()" o.ä.

Der Rest kann blieben, wie er ist.


als Antwort auf: [#486817]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

JuMayr
Beiträge gesamt: 96

23. Dez 2011, 09:43
Beitrag # 7 von 20
Beitrag ID: #486823
Bewertung:
(8070 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Gerald Singelmann ] Löschen Sie die Zeile raus, die den Dialog entfernt, vermutlich "myDialog.destroy()" o.ä.

Der Rest kann blieben, wie er ist.


Amazing:)
Warum das so ist, das kann vermutlich keiner erklären, oder?


als Antwort auf: [#486822]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

Gerald Singelmann
  
Beiträge gesamt: 6249

23. Dez 2011, 10:33
Beitrag # 8 von 20
Beitrag ID: #486828
Bewertung: ||
(8041 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Warum das so ist, das kann vermutlich keiner erklären, oder?


Naja, Vermutung: durch "destroy" muss ID aufräumen und tut das auf eine Art und Weise, die nicht bedenkt, dass durch den Menüaufruf noch andere Sachen später aufgeräumt werden müssen. Sprich: Speicherbereiche sind schon gelöscht, die "afterMenuInvoke" (oder wie das intern heißen mag) noch vorzufinden gedenkt.
Was genau das ist, können aber nur die Entwickler von Adobe sagen.

Thinks: habe ich dafür eigentlich schon einen Bug-Report geschrieben?


als Antwort auf: [#486823]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

WernerPerplies
Beiträge gesamt: 2663

23. Dez 2011, 10:49
Beitrag # 9 von 20
Beitrag ID: #486830
Bewertung:
(8020 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag Herr Singelmann,

nicht alles was funktioniert, ist auch in Ordnung.

Sie produzieren auf diese Art mit jedem Skriptaufruf einen weiteren Dialog.

Sie können das leicht durch testen: ->

alert("Dialoganzahl: " + app.dialogs.length.toString());

Das kostet im besten Fall Resourcen und Speicher.

Besser wäre es dann vermutlich, den Dialog einmal einzurichten und wieder zu verwenden.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
Kundenstimmen


als Antwort auf: [#486822]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

Uwe Laubender
Beiträge gesamt: 5006

23. Dez 2011, 10:54
Beitrag # 10 von 20
Beitrag ID: #486831
Bewertung:
(8018 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner!
Da hätte ich erst mal ein Verständnisproblem. Das Script ist doch ein "Startup"-Script. Weshalb sollte das pro InDesign-Session mehrmals aufgerufen werden?
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#486830]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

WernerPerplies
Beiträge gesamt: 2663

23. Dez 2011, 11:14
Beitrag # 11 von 20
Beitrag ID: #486834
Bewertung:
(7996 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

so wie das Script zur Zeit konstruiert ist, wird das aufgerufene Skript mit jedem Menueaufruf erneut aufgerufen:
-> _entry.eventListeners.add("onInvoke", MakeGridRunStart);

und damit auch die Funktion myDisplayDialog(myObjectList)

Ergänzung:
Die Lösung könnte deshalb darin liegen, das Dialogwindow außerhalb des Events vor dem ersten Aufruf zu erzeugen.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
Kundenstimmen


als Antwort auf: [#486831]
(Dieser Beitrag wurde von WernerPerplies am 23. Dez 2011, 11:17 geändert)

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

Uwe Laubender
Beiträge gesamt: 5006

23. Dez 2011, 11:39
Beitrag # 12 von 20
Beitrag ID: #486836
Bewertung:
(7988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Werner!
Oder man könnte abfragen, ob es bereits existiert, falls nein, darf es aufgerufen werden, falls ja, braucht es nicht mehr aufgerufen zu werden.

Ich glaube, das war auch mal ein Thema in folgendem Thread im Adobe Scripting-Forum:
http://forums.adobe.com/message/4091541#4091541
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#486834]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

Uwe Laubender
Beiträge gesamt: 5006

23. Dez 2011, 11:52
Beitrag # 13 von 20
Beitrag ID: #486837
Bewertung:
(7968 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besonders faszinierend ist Marc Autrets "Menu Loader"-Script im gleichen Thread weiter unten:

http://forums.adobe.com/message/4092090#4092090
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#486836]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

WernerPerplies
Beiträge gesamt: 2663

23. Dez 2011, 12:04
Beitrag # 14 von 20
Beitrag ID: #486838
Bewertung:
(7957 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

Zitat Oder man könnte abfragen, ob es bereits existiert, falls nein, darf es aufgerufen werden, falls ja, braucht es nicht mehr aufgerufen zu werden.



Ja klar, aber ich ziehe die andere Löung vor, das macht m. E. den Code etwas übersichtlicher.

Ich würde auch alles in eine Datei packen.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
Kundenstimmen


als Antwort auf: [#486836]

Ich werd wahnsinnig. MakeGrid.jsx als Menüeintrag => ID Crash

JuMayr
Beiträge gesamt: 96

23. Dez 2011, 19:55
Beitrag # 15 von 20
Beitrag ID: #486856
Bewertung:
(7897 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bei meiner aktuellen Art des Menüaufbaus gibt es anscheinend noch ein ganz anderes Problem.
Ich kann den Menüeinträgen zwar Keyboard-Shortcuts zuweisen, aber die sind beim nächsten Start von InDesign ungültig da sich anscheinend die ID des Menüeintrags geändert hat.


als Antwort auf: [#486838]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
26.10.2021

Online
Dienstag, 26. Okt. 2021, 10.00 - 10.30 Uhr

Webinar

In unserem ca. 30-minütigen kostenlosen Webinar zeigt Ihnen unser Produktmanager Karsten Schwarze, wie Sie mit ColorLogic ColorAnt, CoPrA und ZePrA einen konsistenten Farbmanagement Workflow aufbauen und die Druckqualität sichern.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=305

Mit ColorLogic ColorAnt & CoPrA & ZePrA zum perfekten Druckergebnis
Veranstaltungen
29.10.2021 - 08.07.2022

Digicomp Academy, Zürich
Freitag, 29. Okt. 2021, 13.00 Uhr - Freitag, 08. Juli 2022, 19.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: 10'500.– zzgl. 7.7% MWST
Dauer: 30 Tage(ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch