Никак необъяснимое сообщение компилятора: "cannot open the program file"

 

Здравствуйте,


Суть проблемы уже указал в названии этой темы, ну а теперь детали...

Данное сообщение компилятора я получаю при попытке компиляции EA, которого написал сам. После этого в директории experts появляется файл с расширением log, имя которого совпадает с названием EA. В этом файле единственная строка текста: "2;76;;;cannot open the program file". С помощью поисковых систем интернета пробовал найти решение, но не нашёл аналогичного случая. Множество тех, которые сталкиваются с сообщением компилятора "cannot open the program file", на самом деле что-нибудь перепутывают: иногда перепутывают расширения библиотек *.mqh, иногда файлы этих библиотек поместчают в неправильную (не include) папку, иногда в системе NTFS не указывают достаточно прав (например, Write) для платформы MetaTrader и т.д. В тех случаях, обычно, вместе с сообщением компилятора "cannot open the program file" указывается путь к тому файлу, из-за которого произошла эта ошибка. У меня дело идёт по-другому - рядом с сообщением компилятора не указан путь к проблемному файлу. Даже в том *.log файле тоже не указан путь, в нём единственная строка текста (без ковычек): "2;76;;;cannot open the program file". Чтобы полностью исключить возможность недостаточных прав системы NTFS, я даже решился всему D: диску (в котором у меня инсталлированна платформа MetaTrader) и всем субдиректориям этого диска назначить право на Full Control для всех пользователей и для самой системы, сам работаю подсоединившись к системе как Administrator, но этот шаг никак не повлиял на факт появления сообщения компилятора. Также пробовал переинсталлировать MetaTrader, обновить 4.225 версию на более новую 4.229 - никаких изменений. Самое интересное то, что факт появления этого сообщения совсем не зависит от кода внутри EA и проподает только тогда, когда я существенно изменяю название самого EA или существенно поменяю название директории, в которой установленна платформа MetaTrader. Если название EA или директории поменить на 1-2 символа, сообщение "cannot open the program file" остаётся. С помощью MetaEditor'а даже попробовал создать новый пустой EA (File/New/Expert Advisor, Next), его назвать также и откомпилировать. Угадайте результат, правильно - сообщение компилятора "cannot open the program file" осталось... Вчера мучился пару часов, сегодня уже полдень сижу на этой проблеме, но решить её или идентифицировать причину не удаётся. Ну что-ж, прямо, полтергейст какой-то... Даже компьютер от вирусов просканировал :-).


З.Ы.: Я уже ~5 лет (начиная с 3-ей версии) активно пользуюсь платформой MetaTrader и програмирую на MQL, но с данной проблемой столкнулся впервые.


 
Это может быть, если в эдиторе стоит другой путь. Надо попробовать закрыть советник, затем открыть (посмотрев, откуда открываешь) и затем скомпилировать. Или записать его в нужный каталог через "Сохранить как".

Такое чаще бывает, если стоят несколько терминалов.

 
granit77:
Это может быть, если в эдиторе стоит другой путь. Надо попробовать закрыть советник, затем открыть (посмотрев, откуда открываешь) и затем скомпилировать. Или записать его в нужный каталог через "Сохранить как".

Ага. Только стоило бы еще и про ось написать. Вдруг прав просто не хватает

 
Угу. Скорей всего - 7. Или Виста.
 
Svinozavr:
Угу. Скорей всего - 7. Или Виста.
Стало быть, ставить терминал-то надоть на D:
 
granit77:
Это может быть, если в эдиторе стоит другой путь. Надо попробовать закрыть советник, затем открыть (посмотрев, откуда открываешь) и затем скомпилировать. Или записать его в нужный каталог через "Сохранить как".

Такое чаще бывает, если стоят несколько терминалов.

Попробовал - никаких изменений :(... Когда советник из эдитора сохраняю в другой каталог, компилируется нормально. Но, когда из эдитора опять тот же самый советник из другого каталога сохраняю (Save As...) туда, где он и должен быть (в директории experts), сообщение компилятора "cannot open the program file" опять появляется.

 
Svinozavr:
Угу. Скорей всего - 7. Или Виста.

Нет... Я в этом смысле довольно консервативный - у меня "Windows 2000 Professional" :)...

 
Andrius_S:

Нет... Я в этом смысле довольно консервативный - у меня "Windows 2000 Professional" :)...


у меня тоже. но это появляется в случае запрещения доступа в эту папку. короче прав нет.
 
sergeev:
у меня тоже. но это появляется в случае запрещения доступа в эту папку. короче прав нет.

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

З.Ы.: На все папки, все субдиректории и на все файлы диска D: установлен Full Control доступ (про это уже писал в первом сообщении этой темы)...

 

Приложите сюда файл, пожалуйста.

Если не его полную копию, то хоть минимальную часть, на котором воспроизводится ошибка. Может там какой-то файл инклюдом включается.

 
Renat:

Приложите сюда файл, пожалуйста.

Если не его полную копию, то хоть минимальную часть, на котором воспроизводится ошибка. Может там какой-то файл инклюдом включается.

У меня сообщение компилятора "cannot open the program file" появляется даже при компиляции "пустого" советника (см.: прикрепленный файл fhs875.mq4). Когда советник fhs875.mq4 сохраняю в другой каталог, компилируется нормально.
Файлы:
fhs875.mq4  2 kb
Причина обращения: