我的 Racket GUI 应用程序在退出时(即当用户按下 X 按钮时)需要执行大量清理工作。其中包括终止子进程(这在 Windows 上不是自动的)等。
将 .rkt 包装在等待然后进行清理的 shell 脚本中对我来说有点太老套了。 Racket 文档中有许多退出处理程序(退出处理程序等),但它们似乎都不起作用!
最佳答案
您可能希望在 frame%
中增强 on-close
,例如:
#lang racket/gui
(send
(new (class frame% (super-new)
(define/augment (on-close)
(displayln "Exiting...")))
[label "Frame"]
[width 400] [height 200])
show #t)
当我点击结束十字时,我的机器上会打印“Exiting...”。
关于events - 如何处理 Racket 中的 GUI 退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18684412/