Обновление платформы MetaTrader 4 build 670: виртуальный хостинг, web-запросы и работа с сигналами из MQL-программ - страница 36

 
Rosh:

Пожалуйста, напишите заявку в Сервисдеск со всеми подробностями. Предоставьте код для воспроизведения.
#1057916
 
Y.A.K._:

Почему нельзя #property strict добавлять в библиотеку?

Добавляю - функции в библиотеке не находит, убираю - находит.

Rosh:

Пожалуйста, напишите заявку в Сервисдеск со всеми подробностями. Предоставьте код для воспроизведения.

Думаю, ответ из Сервисдеск будет полезно процитировать и для прочих интересующихся:

Support Team 2014.08.26 08:26
Это ещё одно различие между старым и новым MQL4, которое к сожалению не указано в справке.

При использовании #property strict в библиотеке для экспортируемых функций обязательно добавлять модификатор export.
В противном случае, функция не будет доступна из вне и при отсутствии её использования в коде будет удалена компилятором из библиотеки.
 

А кстати... "При использовании #property strict в библиотеке для экспортируемых функций обязательно добавлять модификатор export."

Это пояснение вижу уже не в первый раз. Сам не использую, поэтому это "сведение" катастрофически в мозге не застревает, и встречая это пояснение в очередной раз, вспоминаю, что уже видел. И боюсь, что если когда-нибудь сам вставлю #property strict в библиотеку, буду мучительно ломать башку, почему функции недоступны. Отсюда предложение - при использовании #property strict в библиотеке и отсутствии модификатор export, компилятор должен выдавать сообщения об ошибке.

Хотя, предполагаю, что сие невозможно. 

 
Есть надежда, что теперь скоро появится в справке :)
 
Alexey_74:

 И боюсь, что если когда-нибудь сам вставлю #property strict в библиотеку, буду мучительно ломать башку, почему функции недоступны.

Да, тоже как-то на это попался, но, насколько помню, причину нашел достаточно быстро, долго голову не ломал. Так что в справке об этом написано. 

P. S. Да, следовал простой логике: Функции - Экспортирование функций. То есть именно там, где и указано двумя постами выше. 

 
Есть вариант ещё переписать стандартную библиотеку stdlib2 с #property strict.
 
Y.A.K._:
Есть вариант ещё переписать стандартную библиотеку stdlib2 с #property strict.

А кто не пользует #property strict? Просто нужна универсальная библиотека или 2 библиотеки! А библиотеку stdlib2, пожалуйста, не трогайте!
 
Хм, ну мне кажется, что #property strict в библиотеке не должно никак повлиять на программу, которая эту библиотеку вызывает. Поэтому не вижу проблемы.
 
Y.A.K._:
Хм, ну мне кажется, что #property strict в библиотеке не должно никак повлиять на программу, которая эту библиотеку вызывает. Поэтому не вижу проблемы.
Где гарантия, что не повлияет?! Уж лучше не трогать, что работает!
 
Когда заработает функция "выделить виртуальный сервер"?
Причина обращения: