more:
Пусть имеем глобальные переменные:
string gs_Str1 = " ";
string gs_Str2 = " ";
и такую вот импортируемую функцию:
int Function(string gs_Str1, gs_Str2);
Вот эта функция в DLL:
int Function(char* gs_Str1, char* gs_Str2);
не поверите, но оказывается эти указатели указывают на одно и то же место, т.е. gs_Str1 = gs_Str1 !
Но если в МТ4 имеем, к примеру:
string gs_Str1 = " ";
string gs_Str2 = " ";
то все нормально...
Это известная багофича - результат работы оптимизатора кода при компиляции.
Чтобы указатели были разные надо инициализировать разными значениями.
Zhunko:
Чтобы указатели были разные надо инициализировать разными значениями.
Чтобы указатели были разные надо инициализировать разными значениями.
понял уже, после того как день потерял...

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пусть имеем глобальные переменные:
string gs_Str1 = " ";
string gs_Str2 = " ";
и такую вот импортируемую функцию:
int Function(string gs_Str1, gs_Str2);
Вот эта функция в DLL:
int Function(char* gs_Str1, char* gs_Str2);
не поверите, но оказывается эти указатели указывают на одно и то же место, т.е. gs_Str1 = gs_Str1 !
Но если в МТ4 имеем, к примеру:
string gs_Str1 = " ";
string gs_Str2 = " ";
то все нормально...