Jump to content

Нелогичный баг с ресурсом


Recommended Posts

Имеется проблема с ресурсом авторизации/регистрации (проблема возникает только, когда он запущен), которую я не могу понять и решить.

При запуске этого ресурса он и другие ресурсы запускаются в нескольких копиях, в результате чего все действия выполняются множество раз (создание GUI, вывод текста в чат и т.п, хотя удаление элементов работает только с одним экземпляром). Ресурс никак не связан с другими. Не имеет функций для запуска/перезапуска ресурсов, использует только экспортированную функцию подключения к mysql базе и dgs (проблема была и до использования dgs, он к этому не относится). Из-за этого совершенно не могу понять, почему так получается, может тут кто-нибудь сможет помочь?

Тоже самое происходит при запуске других ресурсов, если ресурс авторизации запущен. Т.е. если я запущу или перезапущу через консоль ресурс, то запускаются новые копии других ресурсов. Т.е. он опять ещё и запускает новые копии других ресурсов. При этом если я например три раза перезапущу другой ресурс, то соответственно запуститься три новых копии других ресурсов и создаться три окна авторизации, но если я перезапущу ресурс авторизации, то после создаться только одно окно, а не десяток, как при первом запуске. Но когда авторизовываюсь, то в чат выводится много одинаковых сообщений об этом, а не одно.

В дебаге никаких ошибок, связанных с этим нет.

Edited by Taka
Link to comment

Скорее всего у вас создание всех UI интерфейсов происходит вместе с событием onClientResourceStart, который привязан к root, а не к resourceRoot.
Именно по этому у вас все так и возникает.

resourceRoot означает, что событие будет вызываться только для этого ресурса.

Примечание:
В вашем ресурсе может быть либо root либо getRootElement().

root это предопределенная переменная, root и 

getRootElement()

имеют одинаковое значение.

Edited by Kenix
  • Like 1
Link to comment
17 minutes ago, Kenix said:

Скорее всего у вас создание всех UI интерфейсов происходит вместе с событием onClientResourceStart, который привязан к root, а не к resourceRoot.
Именно по этому у вас все так и возникает.

resourceRoot означает, что событие будет вызываться только для этого ресурса.

Примечание:
В вашем ресурсе может быть либо root либо getRootElement().

root это предопределенная переменная, root и 


getRootElement()

имеют одинаковое значение.

Так и есть. Поменял, проблема исправлена, благодарю.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...