[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Absturz bei Scriptausführung Menü nach Update ID 6.06

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

Absturz bei Scriptausführung Menü nach Update ID 6.06

-hans-
Beiträge gesamt: 748

23. Feb 2012, 12:05
Beitrag # 1 von 4
Bewertung:
(2382 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen,

nach einem Update von ID 6.0 auf 6.06 auf einem Laptop (Win 7) stürzt ID bei Ausführung eines Scripts (ein Snippet wird platziert) aus dem Menü (doScript ...) ab. Gestartet aus der Scripten-Palette funktioniert es wie gehabt.

Das ganze ist etwas schwer nachzustellen, aber vllt. gibt es auch so einen Tipp.

Script das ausgeführt wird:
Code
#target InDesign 

var myFolder = Folder ('~/Dropbox/ZVA/');
var fileList = myFolder.getFiles("*.idms");
var idmsList = [];

for(var f = 0; f < fileList.length; f++)
{
idmsList.push(fileList[f].displayName);
}




main()



function main() {

var theSnippet = myDisplayDialog();

var destDoc = openDestDoc();
placeIdms(theSnippet);
backGroundColorToNone(app.activeDocument.allPageItems);
saveDocAs(theSnippet.replace ("idms", ""));
}


function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Auswahl Artikel"});
with(myDialog.dialogColumns.add()){
var dropDownList = dropdowns.add({stringList: idmsList, selectedIndex:idmsList.length-1});
}
var myResult = myDialog.show();
if(myResult == true){
var theSnippet = idmsList[dropDownList.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit();
}
return theSnippet;
}


function openDestDoc() {
var myFile = myFolder.getFiles("Muster02.indd");

//Dudenfehlermeldung eliminieren
//app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;
var theDoc = app.open(myFile, true);
//ScriptPreferences zur&#8730;ºcksetzen
//app.scriptPreferences.userInteractionLevel = UserInteractionLevels.INTERACT_WITH_ALL;

return theDoc;
}


function placeIdms(aSnippet) {
app.activeDocument.pages[0].place(File (myFolder + "/" + aSnippet));
}

function saveDocAs(fName){
app.activeDocument.save(File (myFolder+"/"+fName+"indd"));
}


function backGroundColorToNone(theItemArray){

for(var i=0; i <theItemArray.length; i++){
theItem = theItemArray[i];

if((theItem.constructor.name) == "Group"){
var theGroupArray = theItem.allPageItems;
backGroundColorToNone(theGroupArray)
}

if((theItem.constructor.name) == "TextFrame"){
theItem.fillColor = "None";
}

}
}


Script mit dem der Menüeintrag erzeugt wird:
Code
#targetengine "session" 
main();
function main(){
reporterMenu();
}

function reporterMenu(){

var artikelLaden = app.scriptMenuActions.add("Artikel laden");
artikelLaden.eventListeners.add("onInvoke", aLaden, false);

var artikelExport = app.scriptMenuActions.add("Artikel exportieren");
artikelExport.eventListeners.add("onInvoke", aExport, false);


try{
var SportMenu = app.menus.item("$ID/Main").submenus.item("Sportreporter");
SportMenu.title;
}
catch (myError){
var SportMenu = app.menus.item("$ID/Main").submenus.add("Sportreporter");
}

SportMenu.menuItems.add(artikelLaden);
SportMenu.menuItems.add(artikelExport);


}

function aLaden(){
app.doScript(File('C:\\Program Files (x86)\\Adobe\\Adobe InDesign CS4\\Scripts\\Scripts Panel\\2.1_ReporterArtikelLaden.jsx'), ScriptLanguage.JAVASCRIPT);

}

function aExport(){
app.doScript(File('C:\\Program Files (x86)\\Adobe\\Adobe InDesign CS4\\Scripts\\Scripts Panel\\2.2_ReporterArtikelExport.jsx'), ScriptLanguage.JAVASCRIPT);

}


Hier der Link zu einem Zip das Beispieldateien enthält http://dl.dropbox.com/...20/Musterdateien.zip

Duden ist auch involviert. Deinstallieren brachte aber keine Änderung.

Lieben Gruß

Hans-Gerd Claßen
X

Absturz bei Scriptausführung Menü nach Update ID 6.06

Martin Fischer
  
Beiträge gesamt: 12783

23. Feb 2012, 12:15
Beitrag # 2 von 4
Beitrag ID: #490592
Bewertung:
(2379 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

es ist schon eine Weile her, da beobachteten Quarz und ich Abstürze bei der Ausführung von Skripten aus dem Menü (allerdings erst in CS5).

http://www.hilfdirselbst.ch/..._P454749.html#454749
http://www.hilfdirselbst.ch/..._P455151.html#455151
http://www.hilfdirselbst.ch/..._P486779.html#486779

Ich glaube, Gerald konnte einen entscheidenden Hinweis zum Verursacher und zur Lösung dieses Problems geben:

Zitat von Gerald Löschen Sie die Zeile raus, die den Dialog entfernt, vermutlich "myDialog.destroy()" o.ä.

...

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.



als Antwort auf: [#490587]

Absturz bei Scriptausführung Menü nach Update ID 6.06

WernerPerplies
Beiträge gesamt: 2762

23. Feb 2012, 12:26
Beitrag # 3 von 4
Beitrag ID: #490596
Bewertung:
(2372 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

hast Du Dir das schon angesehen:
http://www.hilfdirselbst.ch/...D_Crash_P486779.html


als Antwort auf: [#490587]

Absturz bei Scriptausführung Menü nach Update ID 6.06

-hans-
Beiträge gesamt: 748

23. Feb 2012, 12:55
Beitrag # 4 von 4
Beitrag ID: #490606
Bewertung:
(2347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Fürwahr,

ohne myDialog.destroy() geht es! :)

Für eine saubere Lösung muss ich mich später nochmal durch die Threads wühlen ...

Vielen Dank :)


als Antwort auf: [#490596]
X