Hallo zusammen,
Ich bin gerade auf 2 Probleme mit meinem Skript in einem modalen Fenster gestoßen, das in JMP14 einwandfrei funktionierte, aber sobald ich über JMP16 wechselte, wurden diese 2 Probleme gefunden:
1) Es kommt eine Fehlermeldung mit der Angabe " gelöschte Objektreferenz: cc << Get Selected in Zugriff oder Auswertung von 'Glue',..... "
2) Schaltfläche "Abbrechen" zeigt einen Fehler an " Name nicht aufgelöst: Schaltfläche im Zugriff oder Auswertung von 'Schaltfläche', Schaltfläche (-1) /*###*/ "
Unten ist ein vereinfachtes Skript, das in JMP14 gut funktioniert, aber nicht in JMP16. Wenn das Skript korrekt funktioniert, erstellt das Skript eine neue Spalte ("Ergebnis") mit der Angabe "Bestanden", wenn das Kontrollkästchen aktiviert ist, aber ein "Nicht bestanden", wenn das Kontrollkästchen deaktiviert ist. Über die Schaltfläche "Abbrechen", wenn sie ordnungsgemäß funktioniert, wird beim Klicken keine Fehlermeldung angezeigt, wodurch das modale Fenster geschlossen wird.
Namen standardmäßig hier( 1 );
dt = aktuelle Datentabelle ();
win = Neues Fenster( "Benutzereingabe", << Modal, LineUpBox( Ncol( 1 ),
chk = {"Pass"};
PanelBox( "Ergebnis",
cc = Kontrollkästchen (cck),
cc << Set( 1, 1 ),
SpacerBox(Größe( 1, 0))),
HListBox( SpacerBox(), ButtonBox( "OK" ), ButtonBox( "Abbrechen")),
));
If( win["Button"] == -1, win << Fenster schließen );
ctc = cc << Auswahl erhalten;
dt << Neue Spalte ("Ergebnis", Zeichen, Nominal);
Wenn (Enthält (ctc, "Pass"),
dt:Ergebnis << Jeden Wert setzen ("Pass"),
dt:Ergebnis << Jeden Wert setzen ("Fail"));
Im Allgemeinen habe ich festgestellt, dass JMP16 etwas aggressiver ist, wenn es darum geht, Displayboxen sofort zu löschen.
Aber so wie ich es immer benutzt habe Modal Windows ist durch die Verwendung der OnValidate Funktion -- diese ist normalerweise für die Bestimmung reserviert, ob das Fenster geschlossen werden soll (vielleicht sind nicht alle erforderlichen Eingaben ausgefüllt und Sie möchten nicht, dass das Fenster über die Schaltfläche 'OK' geschlossen wird.) Geben Sie einfach a . zurück 1 für das richtige Schließen des Fensters.
Names Default To Here( 1 );
dt = Current Data Table();
win = New Window( "User Input",
<<MODAL></MODAL>
Hallo, sorry für die späte Antwort. Ich war die letzten 2 Wochen mit der Arbeit beschäftigt. Danke für die Lösung. Es funktioniert und ich habe etwas Neues gelernt. Ich weiß es zu schätzen !