[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt ScriptUI - Funktion auslagern

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

ScriptUI - Funktion auslagern

tsone
Beiträge gesamt: 89

31. Okt 2024, 10:14
Beitrag # 1 von 7
Bewertung:
(2121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich bastel mir gerade ein Panel mit https://scriptui.joonas.me und möchte dort Buttons mit ähnlichen Funktionen einbauen.

Meine Idee war jetzt eine übergreifende Haupt-Funktion und im UI Buttons, die lediglich Parameter an die Funktion übergeben.

Leider ist es so, dass beim Ausführen des Scripts die Funktion sofort ausgeführt wird und nicht erst nach dem Klick auf den Button.

Hier mal ein Auszug aus dem Code:
Code
function huhu() { 
alert("huhu");
}

...

var button2 = group2.add("button", undefined, undefined, {name: "button2"});
button2.text = "144";
button2.onClick = huhu();

...


Wo liegt der Fehler?
X

ScriptUI - Funktion auslagern

WernerPerplies
Beiträge gesamt: 2790

31. Okt 2024, 11:10
Beitrag # 2 von 7
Beitrag ID: #588983
Bewertung:
(2103 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

probiere es mal so:

Code
button2.onClick = huhu; 



als Antwort auf: [#588982]

ScriptUI - Funktion auslagern

tsone
Beiträge gesamt: 89

31. Okt 2024, 11:25
Beitrag # 3 von 7
Beitrag ID: #588984
Bewertung:
(2101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

so klappt das. Besten Dank!

Die Frage, die ich noch habe, wie kann ich dann an die Funktion Parameter übergeben?


als Antwort auf: [#588983]

ScriptUI - Funktion auslagern

WernerPerplies
Beiträge gesamt: 2790

31. Okt 2024, 11:41
Beitrag # 4 von 7
Beitrag ID: #588985
Bewertung:
(2090 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Direkt kannst Du keine Parameter übergeben, aber es gibt verschiedene Möglichkeiten, z. Beispiel:
button2.meinOnClickParameter = ....;
oder Du holst Dir Deine Parameter per Funktion in der OnClickfunktion ab.


als Antwort auf: [#588984]

ScriptUI - Funktion auslagern

tsone
Beiträge gesamt: 89

31. Okt 2024, 12:00
Beitrag # 5 von 7
Beitrag ID: #588986
Bewertung:
(2083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es geht aber so:
Code
function huhu(p) { 
alert(p);
}

button2.onClick = function() {
huhu('blabla');
}



als Antwort auf: [#588985]

ScriptUI - Funktion auslagern

WernerPerplies
Beiträge gesamt: 2790

31. Okt 2024, 12:03
Beitrag # 6 von 7
Beitrag ID: #588987
Bewertung:
(2079 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und was will Du mir damit sagen?

Aber Du kannst ja mal schauen, welche Parameter übergeben werden:

button2.onClick = function(a, b, c,d){
alert(a); ...
}
Alternativ, die Variable arguments müsste ein Array mit allen Argumenten enthalten.


als Antwort auf: [#588986]
(Dieser Beitrag wurde von WernerPerplies am 31. Okt 2024, 12:09 geändert)

ScriptUI - Funktion auslagern

tsone
Beiträge gesamt: 89

31. Okt 2024, 12:28
Beitrag # 7 von 7
Beitrag ID: #588989
Bewertung:
(2072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe das für mich jetzt so gelöst:

Code
function huhu(p) { 
var externalFile = File("Pfad zur Datei" + p);
app.doScript(externalFile, ScriptLanguage.JAVASCRIPT);
Export.close();
}

button1.onClick = function() { huhu('datei1.jsx'); }
button2.onClick = function() { huhu('datei2.jsx'); }
...


Nochmals besten Dank für die Hilfe!


als Antwort auf: [#588987]
X