Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можно кто из разработчиков МТ пояснит. Что не так?
Есть метод manegment класса:
double* test::test1(void)
{
array<double>^ _arr = gcnew array<double>{1,2,3}; //.net array
double* _ret = new double[_arr->Length];
for (int i=0; i < _arr->Length;i++)
{
_ret[i] = _arr[i];
}
return _ret;
}
Для того, чтобы к управляемому классу обратиться с МТ делаем обертку:
NEURODLL_API char* __stdcall test11(double *out_array)
{
double* _arr = test.test1();
for (int i = 0; i < 3; i++)
{
out_array[i] = _arr[i];
}
delete (_arr);
return _ret;
}
в МТ это добро объявляем как:
string test11(double& arr0[]);
Так вот, в случае когда out_array[i] = 0.1; - все ок,
в случае когда out_array[i] = _arr[i];
МТ тихо падает. Что не так? Область памяти под массив out_array выделена в .mq4 скрипте.
double _arr[];
ArrayResize(_arr,3);
string ret = test11(_arr,3);
Значит память поднего выделена. Почему падает?