Проверить наличие файла библиотеки - страница 2

 

из советника вызвать индикатор, индикатор вызывает библиотеку, если индикатор не подает признаков жизни = креш, значит нет либы

проверил, такой индикатор при отсутствии библиотеки, вроде не загружается на чарт, нужно поэкспериментировать

но тут, наверное, будет другая проблема - работает ли совместный доступ к одной библиотеке? - если нет, тогда нужно индикатор выгружать из чарта и время давать чтобы терминал либу освободил.... нудная задача, тестов много нужно проводить

 
fxsaber:

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

Это да, но если пользователь захочет что-то "левое" подсунуть, получит вылет :)

 
Igor Makanu:

из советника вызвать индикатор, индикатор вызывает библиотеку, если индикатор не подает признаков жизни = креш, значит нет либы

проверил, такой индикатор при отсутствии библиотеки, вроде не загружается на чарт, нужно поэкспериментировать

но тут, наверное, будет другая проблема - работает ли совместный доступ к одной библиотеке? - если нет, тогда нужно индикатор выгружать из чарта и время давать чтобы терминал либу освободил.... нудная задача, тестов много нужно проводить

Спасибо! Если "в лоб" не получится решить, будем выкручиваться, пробовать :)

 

С каких пор библиотеки можно подключать в ресурсы? Я давно писал дело в СД, потому что так делать было нельзя. Допускаю, что я пропустил что-то в новостях, тогда дайте ссылку плиз.

По поводу самой задачи - встречный вопрос: не подойдет ли вариант, когда поставляется библиотека "пустышка" с программным интерфейсом, но не выполняющая никаких действий. Пользователь может скачивать и устанавливать библиотеки с реализацией, перезаписывая "пустышку".

 
Stanislav Korotky:

С каких пор библиотеки можно подключать в ресурсы? Я давно писал дело в СД, потому что так делать было нельзя. Допускаю, что я пропустил что-то в новостях, тогда дайте ссылку плиз.

По поводу самой задачи - встречный вопрос: не подойдет ли вариант, когда поставляется библиотека "пустышка" с программным интерфейсом, но не выполняющая никаких действий. Пользователь может скачивать и устанавливать библиотеки с реализацией, перезаписывая "пустышку".

Кстати, да. unknown resource type пишет

По поводу пустышки предложение было, но заказчика не устраивает :)

 

Oleksii Chepurnyi:

Она же смотрит только в "песочнице"...

if( FileIsExist(../Libraries/name_file) )
  {
   /* work */
  }

Должно работать.

 
Konstantin Nikitin:

Должно работать.

Нет :)

А во-вторых, эта функция не видит ex5 файлы, даже в Files )

 
Oleksii Chepurnyi:

эта функция не видит ex5 файлы, даже в Files )

Справедливости ради стоит сказать, что наличие ex5-файлов в песочнице все же возможно обнаружить средствами MQL.

 
Stanislav Korotky:

С каких пор библиотеки можно подключать в ресурсы? Я давно писал дело в СД, потому что так делать было нельзя. Допускаю, что я пропустил что-то в новостях, тогда дайте ссылку плиз.

Так сразу написал

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Проверить наличие файла библиотеки

fxsaber, 2019.04.30 16:15

Возможно, стоит переформулировать задачу. Тогда может пригодиться вшивание нужных библиотек в EX5 через ресурсы. Сам не пробовал.


Возможно услышать сценарий, когда исходная задача требует решения?


ЗЫ Если библа не вшивается, то индикатор, работающий с библой - всяко сработает. Только не знаю, как советник с таким индикатором будет запускаться - будет ли требовать разрешение на подключение библиотек или нет?


ЗЗЫ Проверку наличия библы и даже ее корректности можно реализовать через MQL-запуск скрипта, который вызывает библу.

 
Oleksii Chepurnyi:

Кстати, да. unknown resource type пишет

По поводу пустышки предложение было, но заказчика не устраивает :)

Ну, тогда уже все перечислили вроде: dll, mklink, либо делать библиотеку в виде псевдо-индикатора (можно создавать по имени, если его нет - получим невалидный хэндл, но нужно будет разрабатывать свой протокол вызовов через события, ресурсы или глобальные переменные).