Модификация файла стадартной библиотеки

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vjacheslav Lapaev
1455
Vjacheslav Lapaev  

В силу причин и обстоятельств, необходимо, желательно, модифицировать исходный файл стандартной библиотеки. После модификации исходного кода, естественно, получается новый, например, класс и т.п. 

Насколько это правомерно в отношении преобразовании кода стандартной библиотеки. Или, клонируя, дорабатываем, присваиваем новое имя и всё правомерно, в данном случае?

Компилируем, заменяя ссылки на файлы стандартной библиотеки на ссылки модифицированных файлов и получаем объектный код, содержащий всё, что необходимо для работы основной программы, в теле, так сказать, нативного приложения *.ex5?

Или, файлы библиотеки для основной программы, например, для Маркета, необходимо предоставлять в объектном коде? В этом случае, правда, не понятно, как. Ни разу с этим не сталкивался. В МТ5, имею ввиду. :)

Кто может растолковать "непрограммисту" суть о бренности бытия на сей платформе?  :)

Georgiy Merts
9181
Georgiy Merts  

Не следует модифицировать файлы библиотек, тем более, стандартных.

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

Vjacheslav Lapaev
1455
Vjacheslav Lapaev  
Georgiy Merts:

Не следует модифицировать файлы библиотек, тем более, стандартных.

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

Всё это понятно. Но "сказано было" :)

В силу причин и обстоятельств, необходимо, желательно, модифицировать исходный файл стандартной библиотеки.

Обстоятельства, как правило, непреодолимой силы :).

fxsaber
16748
fxsaber  
Vjacheslav Lapaev:

 клонируя, дорабатываем, присваиваем новое имя и всё правомерно, в данном случае?

Да. СБ отличается от остальных библиотек только тем, что ее пишут и принудительно обновляют разработчики. Если создвать свои mqh через copy/paste/edit, то с ними можно работать аналогично.

Где-то целесообразно copy/paste заменить на наследование. Маркету же вообще ровно до исходников. Главное для него, чтобы был единственный EX5.

Vasiliy Pushkaryov
6959
Vasiliy Pushkaryov  
Vjacheslav Lapaev:

Всё это понятно. Но "сказано было" :)

В силу причин и обстоятельств, необходимо, желательно, модифицировать исходный файл стандартной библиотеки.

Модификация сохранится только до нового билда, потом перезапишется снова стандартной версией.

Т.е. либо нужно полную копию со всеми связанными классами делать отдельно в другую папку, либо как уже заметили, и что намного удобнее, наследоваться от классов СБ.

Vjacheslav Lapaev
1455
Vjacheslav Lapaev  
Понятно. Спасибо.
Vjacheslav Lapaev
1455
Vjacheslav Lapaev  

Хм. Остался не раскрытым последний вопрос.

Прошу прощения, но не хочется иметь в арсенале "белыЙ пятен"  ... :)

1. После компиляции кода основной программы и кода файлов необходимых библиотек, всё помещается в объектный код созданного приложения *.EX5.

2. Компилируем основную программу. После её запуска в терминале, на основе имеющихся ссылок include на необходимые файлы библиотек, последние компилируются и используются основной программой.


Какой вариант верен в среде терминала МТ5 ?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий