如何检查Instance是否正在运行?

时间:2013-10-19 15:53:49

标签: google-apps-script

如何检查UiInstance是否已在运行?我需要知道,以便我知道是否使用UiApp.getActiveApplication()或UiApp.createApplication();问题是可能无法按特定顺序调用函数。

1 个答案:

答案 0 :(得分:0)

没有冒犯,但这个问题对我来说没有多大意义......只有一个UiApp实例,在一个独立的应用程序中,它必须以doGet()开头,所以我想知道你怎么能开始没有通过应用创建启动的应用程序?
一旦你创建了这个实例,只要你关闭浏览器窗口就可以隐藏所有可能的用户操作源(例如隐藏所有小部件或禁用所有按钮),并且两者之间发生的一切都是结果脚本中的处理程序调用或直接函数调用,所有这些调用都是后续的,因此使用getActiveApplication()

如果我遗漏了某些东西(当然这完全可能),请解释一下。


编辑:点击您的评论:

如果您在文档中使用嵌入UiApp,情况会有所不同,但不是很多: 2种不同的情况:

  1. 对话框:每次创建一个新对话框时,它将显示在“现有”之上,但不会“意识到”它,即第一个UI值都不可用于下一个。所以最好在创建一个新的之前关闭每一个(app.close();return app;),否则你将不得不连续手动关闭每个“层”,因为我认为保持对话不是一个好主意屏幕一直:-) 必须使用某种存储来处理从一个实例传递到另一个实例的数据。
  2. 补充工具栏:我建议在侧边栏中创建一个创建Ui的起始UI(例如显示欢迎消息或菜单),并让所有其他函数使用getActiveApplication()获取此Ui实例,这将避免UI在重绘时“闪烁”,并允许您一直播放所有值。
  3. 在这两种情况下,选择都是你的,但我建议的做法会更好,让你完全控制发生的事情。