Не создает ex4 файл - страница 2

 
Mathemat:
А у меня все компилится исправно, билд 509. Символы подчеркивания имеются - правда, только как ведущие. Внутри переменных я обычно эти символы не использую.

так подчёркивание не есть признаком декомпила.

сам подчёркивание активно использую и как ведущее и как внутри - всё без проблем компилируется

 

И внутри пробовал, тоже компилилось. Ну говорю же, что алгоритм явно не топорный.

 
Mathemat:

И внутри пробовал, тоже компилилось. Ну говорю же, что алгоритм явно не топорный.

А я вот тут специально ради интереса взял декомпил индикатора из сети, откомпилировал его - нет ex4. Хорошо. Потом в нескольких циклах заменил сгенерированные имена счётчиков на i, исправил некоторые имена буферов на читаемые и ... о чудо ... декомпил перестал быть декомпилом - откомпилировался и заработал, хотя весь остальной код выглядит помойной ямой...

Так что, думаю, есть ещё над чем работать ...

 
Вот разработчики сейчас сидят в этой ветке, читают твои откровения и говорят тебе спасибо...
 
Renat:

Вы сами верите в то, что наличие _ означает декомпил и запрет?

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


Это Вы щас говорите про 509 билд , да обновление сделал , работает уже нормально . Видимо народу очень не понравились Ваши "нововведения ".

MetaTrader 4 Client Terminal build 509

  1. Terminal: Исправлен запуск клиентского терминала после обновления LiveUpdate при включенном UAC.
  2. Terminal: Обновлен перевод пользовательского интерфейса на португальский язык.
  3. MQL4: Исправлена ошибка компиляции, в некоторых случаях приводившая к ошибкам в выполнении MQL4-программ.
  4. Исправления по крешлогам.


Обновление доступно через систему LiveUpdate.

это 24.06 обновили . думаю что это касается Пункта 3(

  1. MQL4: Исправлена ошибка компиляции, в некоторых случаях приводившая к ошибкам в выполнении MQL4-программ.)

 А я говорил про 500 билд ,там однозначно такая проблема есть , сегодня все заработало только после перехода на 509 версию.

Создали сами проблему потом сами ее  с успехом решили , молодцы ))) 

 
Mathemat:
Вот разработчики сейчас сидят в этой ветке, читают твои откровения и говорят тебе спасибо...
Ну, думаю, это можно, даже нужно, взять на заметку
 

Рано я радовался , теперь еще выдает просто ошибку компиляции : 

 

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

видимо реально проще будет поставить предыдущие рабочие билды , а то с такими обновлениями  далеко не заедешь .

 
OmegaTube:

Рано я радовался , теперь еще выдает просто ошибку компиляции : 

 

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

видимо реально проще будет поставить предыдущие рабочие билды , а то с такими обновлениями  далеко не заедешь .

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

Сам чужой декомпил давно уже не пытаюсь использовать - своего кода достаточно, а чего нет - пишу сам или тут, в базе кода тырю, но мое мнение такое:

1. В любом случае подобное ограничение будет слабо функционально, ибо машинно отличить код человека от кода автомата довольно проблемно. В данном случае (я так понимаю) используется проверка имен переменных на сходство с декомпильными, а это может ограничить только совсем начинающего и не упорного программера. Как человек работающий с кодом долгие годы скажу так - проверки такого рода можно сделать не менее чем в пяти направлениях - одно из них уже задействовано - контроль синтаксиса переменных, остальные не скажу - ибо нефиг ;) Но это приведет лишь к тому, что либо эта "защита" будет сравнительно легко обходиться, либо начнет тявкать на легальный код, а это уже чревато проблемами. 

2.  С какого перепугу разработчики вообще решили какой код можно, а какой код нельзя использовать? Интересует не "социальный" ответ, а со ссылкой на статьи законов или иные нормативно-правовые акты. У разрабов имеется право на проведение подобной экспертной оценки, да еще такой топорной? Полагаю использование чужого кода должно волновать сугубо владельца и по его указанию еще может быть правоохранительные органы и всё.

Не хорошо это ИМХО - лезть в чужой огород, особенно если это лезущего особенно-то и не касается...

Причина обращения: