Бросая в воду камешки, смотри на круги, ими образуемые; иначе такое бросание будет пустою забавою. (Козьма Прутков)
Посмотрел скрипт. Небольшие модификации позволяют установить следующее:
длина имени глобальной переменной от 0 до 63 символов. Длинные строки обрезаются до 63 символов. Глобальные переменные с длиной имени 0 и 63 символа, действительно, ручками не удаляются.
Бросая в воду камешки, смотри на круги, ими образуемые; иначе такое бросание будет пустою забавою. (Козьма Прутков)
Посмотрел скрипт. Небольшие модификации позволяют установить следующее:
длина имени глобальной переменной от 0 до 63 символов. Длинные строки обрезаются до 63 символов. Глобальные переменные с длиной имени 0 и 63 символа, действительно, ручками не удаляются.
Что интересно пустое имя "" тоже принимается терминалом. И почему 63, а не 64?
Один символ отводится под завершающий /0
и кроме того, последняя переменная не удаляется вручную, а только программно при помощи функции GlobalVariablesDeleteAll("a");
Прошу вас дать разъяснения по этому поводу
А вот это смахивает на баг ) надо на 5ке проверить.
Один символ отводится под завершающий /0
А вот это смахивает на баг ) надо на 5ке проверить.
Гораздо хуже ИМХО, что при создании имении длиннее 63 не выдает ошибку создания переменной
Ну... Я уже привык как-то.
На граф объекты такое же ограничение если что. И текстовые поля для объектов тоже.
Но вот выделенное мной выше... Этот баг имхо, гораздо хуже. Его по сокращенному имени и программно не удалишь по ходу.
Ну... Я уже привык как-то.
На граф объекты такое же ограничение если что. И текстовые поля для объектов тоже.
Но вот выделенное мной выше... Этот баг имхо, гораздо хуже. Его по сокращенному имени и программно не удалишь по ходу.
В моём примере программно удаляется по сокращенному имени. deinit благополучно отрабатывает.
В моём примере программно удаляется по сокращенному имени. deinit благополучно отрабатывает.
В твоем примере есть GlobalVariablesDeleteAll ) поименного удаления нет.
Ну да - удалить всё по префиксу работает. А по полному имени - даже и не знаю что будет.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые господа разработчики.
Возникла необходимость выяснить максимальную длину имени GV-переменной, для этого я написал небольшую тестовую программку:
я получил след результат
через некоторое время
то есть, не происходит обработка ошибки превышения длины имени GV-переменной, поскольку алерт так и не был выдан,
после превышения длины имена интерпретируются как одно и тоже, поскольку до значения 62 переменные переписываются, а последняя строка почему-то нарастает,
и кроме того, последняя переменная не удаляется вручную, а только программно при помощи функции GlobalVariablesDeleteAll("a");
Прошу вас дать разъяснения по этому поводу