(Lua/IUP)如何在执行下一个函数之前检查一个函数是否已经完成

我有两个函数。一个函数显示一个对话框,允许用户选择要提取的字符串,另一个函数可以根据用户在对话框中选择的内容提取字符串。

我希望它们在打开文件函数内顺序执行。在这之前,只有提取函数才能让这一切正常工作。但随着第一个函数的添加,现在我必须要求它等待另一个函数中的对话框,才能执行其函数。

结果是它只是通过所有函数而不真正等待它们的结果。这导致值为 nil,因为函数甚至还没有完成。所以现在我正在寻找一种方法,让程序在继续之前等待结果,无论是在 IUP 中还是在 Lua 中。

如何检查一个函数是否已经完成,以便另一个函数继续执行,尤其是第一个函数恰好是一个 IUP 对话框?

这是一个包含第一个和第二个函数的示例代码链接,它们在负责打开文件的函数中被调用。

https://controlc.com/906426ce

预先感谢您的帮助!

点赞
用户2858170
用户2858170

我不了解IUP。但是如果对话框没有阻塞,直到您完成操作,您可以将所有应在对话框之后发生的事情放在单独的函数中,并从对话框的关闭按钮/事件中调用它。例如,在function btn_ch1:action()中调用它。

2021-04-12 07:34:25
用户11526755
用户11526755

好吧,我真是太蠢了。有人建议从用于打开文件的主函数中获取函数,然后再将它们放入它们各自的函数中。这样程序只需要调用一个函数,一切都按照顺序发生。

感谢那个试图解决我的问题的人。

2021-04-12 16:27:17