Обновление платформы MetaTrader 4 build 670: виртуальный хостинг, web-запросы и работа с сигналами из MQL-программ - страница 36
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пожалуйста, напишите заявку в Сервисдеск со всеми подробностями. Предоставьте код для воспроизведения.
Почему нельзя #property strict добавлять в библиотеку?
Добавляю - функции в библиотеке не находит, убираю - находит.
Пожалуйста, напишите заявку в Сервисдеск со всеми подробностями. Предоставьте код для воспроизведения.
Думаю, ответ из Сервисдеск будет полезно процитировать и для прочих интересующихся:
При использовании #property strict в библиотеке для экспортируемых функций обязательно добавлять модификатор export.
В противном случае, функция не будет доступна из вне и при отсутствии её использования в коде будет удалена компилятором из библиотеки.
А кстати... "При использовании #property strict в библиотеке для экспортируемых функций обязательно добавлять модификатор export."
Это пояснение вижу уже не в первый раз. Сам не использую, поэтому это "сведение" катастрофически в мозге не застревает, и встречая это пояснение в очередной раз, вспоминаю, что уже видел. И боюсь, что если когда-нибудь сам вставлю #property strict в библиотеку, буду мучительно ломать башку, почему функции недоступны. Отсюда предложение - при использовании #property strict в библиотеке и отсутствии модификатор export, компилятор должен выдавать сообщения об ошибке.
Хотя, предполагаю, что сие невозможно.
И боюсь, что если когда-нибудь сам вставлю #property strict в библиотеку, буду мучительно ломать башку, почему функции недоступны.
Да, тоже как-то на это попался, но, насколько помню, причину нашел достаточно быстро, долго голову не ломал. Так что в справке об этом написано.
P. S. Да, следовал простой логике: Функции - Экспортирование функций. То есть именно там, где и указано двумя постами выше.
Есть вариант ещё переписать стандартную библиотеку stdlib2 с #property strict.
А кто не пользует #property strict? Просто нужна универсальная библиотека или 2 библиотеки! А библиотеку stdlib2, пожалуйста, не трогайте!
Хм, ну мне кажется, что #property strict в библиотеке не должно никак повлиять на программу, которая эту библиотеку вызывает. Поэтому не вижу проблемы.