| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | Wichtige Änderung bei Lizenzverlängerungen von PTC, eine Pressemitteilung
|
Autor
|
Thema: Dialog-Callback (810 / mal gelesen)
|
lix b Mitglied Konstrukteur, CAD-Admin
 
 Beiträge: 296 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 03. Mai. 2016 11:13 <-- editieren / zitieren --> Unities abgeben:         
Mahlzeit! Hat jemand von euch bereits erfolgreich den Befehl
Code: sd-register-dialog-callback
eingesetzt? Ich hab mir das Beispiel in der Doku schon x Mal durchgelesen, aber irgendwie fällt bei mir der Groschen nicht. Das einfachste Beispiel: Nach der ok-action von Dialog "abc" soll "funktioniert" in der Ausgabe erscheinen. Es tut aber nicht wie erhofft Vielleicht kann mir ja jemand einen entsprechenden Codeschnippsel zukommen lassen. Code:
(defun test () (setf *test-callback* (sd-register-dialog-callback :Dialog-name abc :after-ok-action (display "funktioniert") ) ) )
------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
  
 Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 25. Mai. 2016 08:42 <-- editieren / zitieren --> Unities abgeben:          Nur für lix b
Hallo Felix, weiß zwar nicht für was man die Funktion gebrauchen kann, aber wenn du zwischen dein abc noch ein paar "" machst, klappt das bei mir. Code:
(defun test () (setf *test-callback* (sd-register-dialog-callback :Dialog-name "abc" :after-ok-action (display "funktioniert") ) ) )
Vielleicht habe ich auch was missverstanden. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
 
 Beiträge: 296 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 31. Mai. 2016 16:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo Peter! Ich hab's schon mit und ohne "" probiert, hat aber leider weder noch funktioniert. Bei dir erscheint nach Betätigung des "OK" Buttons im entsprechenden Dialog dann die Meldung "funktioniert" in der Ausgabe? ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
  
 Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 01. Jun. 2016 07:02 <-- editieren / zitieren --> Unities abgeben:          Nur für lix b
Guten Morgen, ja bei mir kommt das Fenster mit "funktioniert". Kommt bei dir nichts oder was passiert. Wie rufst du denn das Programm auf? Ich ziehe dsa lsp rein und gebe dann in die Befehlszeile (test) ein, muss mit Klammern aufgerufen werden... ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
 
 Beiträge: 296 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 01. Jun. 2016 07:12 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen! Dann ist es mir klar. Das die "after-ok-action" bei dir ausgeführt wird ist nur ein Nebeneffekt beim Aufruf dieser Funktion. Der eigentlich Sinn beim Dialog-Callback ist, dasss die angeführte Aktion (also hier die Ausgabe "funktioniert") automatisch an einer bestimmten Stelle des verbundenden Dialogs ausgeführt wird. Bereits defninierter Dialog "ABC" Gewünschte Funktion "mach-etwas" Dialog-Callback (= Anhang an den bestehenden Dialog) Routine: Dialog "ABC" wird vom Benutzer gestartet => alle MUST-Variablen werden definiert => der OK-Button wird gedrückt => >>>> vorm Ausführen der OK-Action des Dialogs wird nun der Dialog-Callback aufgerufen => danach erfolgt die eigentliche OK-Action des Dialogs Und genau da komm ich aber nicht hin. Der Dialog-Callback wird registriert, bekommt auch eine fortlaufende Nummer im System, aber er wird nicht getriggert.
------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
  
 Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 01. Jun. 2016 07:22 <-- editieren / zitieren --> Unities abgeben:          Nur für lix b
ok, das verstehe ich jetzt schon garnicht was das eigentlich machen soll. Wenn ich dann den Befehl: Code: (display *test-callback*)
eingebe, kommt bei mir die Meldung "DIALOG-CALLBACK-57" Ist dsa die Registrierung von der du sprichst? ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
 
 Beiträge: 296 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 01. Jun. 2016 07:40 <-- editieren / zitieren --> Unities abgeben:         
Genau, *test-callback* ist nur das Cookie unter dem der Callback im System registriert ist. In deinem Fall der 57. Callback Der Sinn von diesen Callbacks ist z.B. eine bestimmte Check-Routine an einen oder mehrere existierenden Dialog(e) anzuhängen. In meinem Fall möchte ich nach der OK-Action eines bestehenden Dialogs einen zusätzlichen Befehl ausführen. ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |