Na UI do GMS, tenho um menu que possui um submenu. Gostaria de confirmar se o submenu existe no dm-script.
Se o submenu existir, posso usar o código abaixo para obter o nome. Mas se os submenus não existirem, ocorrerá erro. A princípio, tento usar a estrutura try-catch para evitar o erro e fazer o código funcionar. Mas parece que ainda dá o erro.
Object MB = GetMenuBar()
Object Menu = MB.FindMenuItemByName("Menu")
Object SubMenu = Menu.FindMenuItemByName("SubMenu")
Result(SubMenu.GetName())
Geralmente, ao usar funções/métodos (como
FindMenuItemByName
) que retornam referências a objetos, é uma boa ideia usar o métodoScriptObjectIsValid
para testar se o objeto retornado é válido e ramificar o código de acordo. Então, no seu exemplo, você provavelmente gostaria de fazer algo como o seguinte:Também é possível fazer isso via try-catch, mas não é particularmente mais claro (ou mais limpo), como segue: