Снова, доброго всем дня. Не могу дождаться ответа и решил конкретизировать вопрос.
Дело в том, что если прописать функции из библиотек в скрипт(эксперт) все нормально редактируется,
а такая констукция присутствует во многих индикаторах и экспертах.
Хотелось бы знать: переписывать все или можно поправить библ.функции?
Дело в том, что если прописать функции из библиотек в скрипт(эксперт) все нормально редактируется,
а такая констукция присутствует во многих индикаторах и экспертах.
Хотелось бы знать: переписывать все или можно поправить библ.функции?
Снова, доброго всем дня. Не могу дождаться ответа и решил конкретизировать вопрос.
Дело в том, что если прописать функции из библиотек в скрипт(эксперт) все нормально редактируется,
Дело в том, что если прописать функции из библиотек в скрипт(эксперт) все нормально редактируется,
Да, я тоже проверил с переносом в один файл.
С работой вызовов из библиотек может ответить только Слава.
К сожалению, мы в состоянии переезда и без интернета в офисе - отвечать некоторое время не сможем.
а такая констукция присутствует во многих индикаторах и экспертах.
Хотелось бы знать: переписывать все или можно поправить библ.функции?
Хотелось бы знать: переписывать все или можно поправить библ.функции?
Вообще-то лучше бы переписать, но свои ошибки мы тоже поправим.
Кстати, EX4 файлы - это не LIB библиотеки, а скорее COM объекты со всеми своими тормозами.
Лично я не рекомендую активно использовать импортируемые функции из библиотек.
Лучше использовать встраивание вспомогательных файлов через #include. В этом случае код напрямую встраивается в целевой модуль и все вызовы являются прямыми. А при вызове испортируемой функции приходится отдельно грузить чужой модуль, инициализировать его, а уж потом вызывать функцию. Естественно, загрузка и инициализация происходит один раз, но в любом случае расходы ресурсов достаточно серьезные.
Идея: "я помещу нужные функции в библиотеку, а потом буду ею всегда пользоваться" - не самый лучший выбор. Это на практике звучит так "я помещу вспомогательные функции в COM-объект и буду ими пользоваться". Гораздо чище и эффективнее использовать #include - максимальная скорость, легкость встраивания, меньше потенциальных проблем межмодульных вызовов.
Благодарю за подробный ответ, необходиость переписывания ясна.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вслед. конструкции - скрипт + две библ.функции, строковое значение в массиве редактируется некорректно.(первые символы заменяются на крякозяблики)
Почему, непонятно.
скрипт:
#import "lib2.ex4" string Speech_Symbol(); #import "lib.ex4" bool EditArr(string& arr_s[],string stroka); #import int start() {string sAl_arr[1]; string str=Speech_Symbol(); EditArr(sAl_arr,str); Print("скрипт: sAl_arr[0][0]=/",sAl_arr[0],"/"); return(0); }библиотека "lib.ex4":
#property library bool EditArr(string& arr_s[],string stroka) { arr_s[0]=stroka; Print("EditArr: arr_s[0][0]=/",arr_s[0],"/"); return(true); }библиотека "lib2.ex4":
#property library string Speech_Symbol() { string sSpeech="евра доллар"; return(sSpeech); }LOG:
15:05:02 scr EURUSD,H1: loaded successfully
15:05:02 lib2 EURUSD,H1: loaded successfully
15:05:02 lib EURUSD,H1: loaded successfully
15:05:02 lib EURUSD,H1: EditArr: arr_s[0][0]=/евра доллар/
15:05:02 scr EURUSD,H1: скрипт: sAl_arr[0][0]=/ЂЯ% доллар/
15:05:02 scr EURUSD,H1: removed