Возникли проблемы при попытке скопировать и вставить DLL в MT4 1260.

 

Я создал DLL. Но это не копируется в MQL4 -> Библиотеки.

Вот что я получаю:

Эта ошибка возникает, когда у меня открыт терминал Metatrader4. Когда закроешь его, это позволит мне скопировать.

Я прикрепил советник. Этот советник я удалил перед копированием файла Dll.

Но все же я не понимаю, почему dll не выпускается в MT4.

Просьба пролить свет на этот вопрос.

MQL5 forum
MQL5 forum
  • www.mql5.com
MQL5: Forum on automated trading systems and strategy testing
 

нельзя перезаписать файл DLL пока эта библиотека используется в MT.

Действительно, в виндовс такие шалости не дозволяются.

Такое часто попадается при разработке dll - завершите программу которая использует dll, перед заменой файла. 

 
Maxim Kuznetsov :

нельзя перезаписать файл DLL пока эта библиотека используется в MT.

Действительно, в виндовс такие шалости не дозволяются.

Такое часто попадается при разработке dll - завершите программу которая использует dll, перед заменой файла. 

Я прекратил работу советника. Но все же dll используется в MT4. Теперь в чем может быть проблема?

Также я пытаюсь загрузить советник на двух разных символах. Это не работает? Почему это происходит? Загрузка Dll в MT4 не отдельный модуль?

 
jaffer wilson:

Я прекратил работу советника. Но все же dll используется в MT4. Теперь в чем может быть проблема?

Также я пытаюсь загрузить советник на двух разных символах. Это не работает? Почему это происходит? Загрузка Dll в MT4 не отдельный модуль?

выгрузка советника может не повлечь непосредственной выгрузки DLL. 

и ещё к тому: при любой ошибке использования DLL - завершайте вызывающий процесс (весь MetaTrader). 

 
jaffer wilson:

Я прекратил работу советника. Но все же dll используется в MT4. Теперь в чем может быть проблема?

Возможно, открыто окно тестера стратегий. В таком случае именно тестер блокирует выгрузку DLL. Достаточно закрыть окно тестера и DLL выгрузится.

 
jaffer wilson:

Я прекратил работу советника. Но все же dll используется в MT4. Теперь в чем может быть проблема?

Также я пытаюсь загрузить советник на двух разных символах. Это не работает? Почему это происходит? Загрузка Dll в MT4 не отдельный модуль?

DLL не выгружается довольно долго после остановки советника или индикатора, который использует эту DLL. Можно подождать неизвестное время, но проще перезапустить терминал.
 
Еще можно переименовать длл - цифру в конце добавить. Работает быстрее, чем перезапуск терминала.