8

我的 Racket GUI 应用程序在退出时需要做很多清理工作,即当用户按下 X 按钮时。这些包括杀死子进程(在 Windows 上不是自动的)等。

将 .rkt 包装在一个等待然后进行清理的 shell 脚本中对我来说有点太笨拙了。Racket 文档中有许多退出处理程序(exit-handler 等),但它们似乎都不起作用!

4

1 回答 1

10

您可能想增加on-closein frame%,例如:

#lang racket/gui

(send
 (new (class frame% (super-new)
        (define/augment (on-close)
          (displayln "Exiting...")))
      [label "Frame"]
      [width 400] [height 200])
 show #t)

当我单击闭合十字时,它在我的机器上打印“Exiting...”。

于 2013-09-08T16:15:32.307 回答