JMP-Fenster schließt nichtIch arbeite an einem Skript, das nur die grundlegende Bildbearbeitung durchführt. Ich habe mein Bild in einem Fenster, und wenn ich dann auf ein Fenster „Bildoptionen“ klicke, öffnet sich ein Fenster mit Schiebereglern für Kontrast und Helligkeit. Immer wenn ich das Fenster mit den Bildoptionen schließe, wird es nie wirklich geschlossen, das Fenster wird nur ausgeblendet. Das Klicken auf das „x“ in der Ecke bewirkt nichts. Ich habe sogar eine Schaltfläche „Schließen“ hinzugefügt, die nur << Fenster schließen sagt, diese dann aber einfach ausblendet. Um es zu schließen, muss ich JMP vollständig schließen. Fehlt mir etwas?
Names Default To Here( 1 );
img = Open( "$SAMPLE_IMAGES/windmap.png", "png" );
orig = New Image( img );
wind = New Image( orig );
slbval = 1;
slbval1 = 1;
w = New Window( "View Image",
vlb = V List Box(
Graph Box(
FrameSize( 500, 500 ),
X Scale( 0, 100 ),
Y Scale( 0, 100 ),
<<ADD image=""></ADD>
Betreff: JMP-Fenster schließt nichtHallo @pen51 ,
Sie könnten 1 zum Argument „On Close“ hinzufügen.
<< On Close ( optionswindowopen = 0; 1)
Auf diese Weise wird das Ergebnis des letzten Arguments zurückgegeben. in diesem Fall 1.
Beifall,
Stan
Betreff: JMP-Fenster schließt nicht@stan_koprowski hat Sie in die richtige Richtung gewiesen und Sie stellen eine gute Frage und die Antwort weist auf eine Subtilität von JSL hin.
Der Schlüssel besteht darin, sich daran zu erinnern, dass alles in JSL eine Funktion ist, sogar Operatoren wie =, was dem entspricht Assign()-Funktion . Da alles eine Funktion ist, geben sie alle etwas zurück. Die Funktion Assign() gibt den zugewiesenen Wert zurück.
Da Ihr OnClose()-Argument also eine Assign()-Funktion ist, die 0 zuweist, und weil die Assign()-Funktion den zugewiesenen Wert zurückgibt, gibt sie 0 zurück, und weil On Close() sagt, dass das Fenster nicht geschlossen wird, wenn die aufgerufene Funktion 0 zurückgibt, wird das Fenster nie geschlossen.
Da jedoch alles eine Funktion ist, ist das ; Betreiber ist eigentlich der Kleber() Funktion. Die Funktion Glue() gibt das Ergebnis ihres letzten Arguments zurück. Sie können dieses Problem also umgehen, indem Sie nach der Zuweisung etwas anderes in Ihrem On Close()-Skript tun, beispielsweise einfach eine 1 eingeben.
Das wird also für Sie funktionieren:
imgop = New Window( "Image Options",
<<ON close=""></ON>
Betreff: JMP-Fenster schließt nichtHallo Stan, die Option „windowopen“ ist nur ein boolescher Wert, der angibt, ob das Fenster geöffnet ist oder nicht. Da ich das Fenster schließe, würde On Close den Booleschen Wert auf 0 setzen. Wenn das Fenster geöffnet ist, ist der boolesche Wert 1. Ich möchte diesen Booleschen Wert mit dieser Logik beibehalten. Haben Sie also eine Lösung?
Betreff: JMP-Fenster schließt nichtHallo @pen51 ,
Das Problem mit dem Skript liegt in Zeile 32:
<<ON close=""></ON>
Das Fenster wird nie geschlossen, wenn es auf 0 gesetzt ist.
Wenn Sie wechseln zu
<<ON close=""></ON>
Es schließt wie erwartet.
Laut Skriptindex wird verhindert, dass das Fenster geschlossen wird, wenn << On Close() Null (0) zurückgibt.
<<On Close<<On Close<
Beifall,
Stan
Betreff: JMP-Fenster schließt nicht@pen51 ,
Ich habe dieses Skript auf JMP 13.1.0 getestet und hatte das gleiche Problem.
Betreff: JMP-Fenster schließt nichtIch habe mit dem JMP-Support Kontakt aufgenommen, aber der Techniker, mit dem ich gesprochen habe, konnte das Problem mit demselben Skript nicht reproduzieren. Ich verwende JMP 13.1, @cwillden Was rennst du? Ich werde versuchen, ein Update durchzuführen und zu sehen, ob es funktioniert, aber die Hoffnungen sind seitdem nicht groß @txnelson Hatte dieses Problem auch in JMP 14.
Betreff: JMP-Fenster schließt nichtlol, mir ist das Gleiche in JMP 13 passiert. Danke @pen51 dafür, dass Sie auch unsere Computer mit Ihrem seltsamen, unbeabsichtigten Virus (j/k) infiziert haben.
Betreff: JMP-Fenster schließt nichtDas ist sehr merkwürdig ... Ich habe damit herumgespielt und konnte keinen eindeutigen Grund dafür finden, dass das Optionsfenster geschlossen werden konnte.Tatsächlich ließ sich meine JMP-Sitzung unter JMP 14 nicht schließen.Ich musste das Schließen eines Betriebssystems erzwingen.
Dies muss an die JMP-Supportmitarbeiter gesendet werden....
support@jmp.com