0

下面提供了适当的代码。我曾经有过这个工作,但由于不得不更改其他一些代码而搞砸了。无法弄清楚我做了什么。encrypt 函数创建一个线程并调用 EncryptProc 函数来处理一个或多个文件。每个文件完成后,它应该将名称打印到 textctrl。在代码当前状态下,它会等到所有线程/文件在打印前处理完毕。然后它一口气打印所有东西。在处理过程中,textctrl 也完全消失了。任何帮助将不胜感激,因为它开始让我发疯,哈哈。

---编辑---代码已删除

4

1 回答 1

1

线程内不应该有 GUI 访问 - 在您的情况下 EncryptProc 直接写入文本控件 - 您需要:

  1. 在线程中使用CallAfter在线程退出后更新文本控件或
  2. 引发自定义事件线程中的一个事件,该事件携带文件名信息,并在主线程中有一个处理程序,用于在接收到事件时更新文本控件。
于 2013-08-11T20:38:21.070 回答