My EA can not call function from Matlab -- error 127 What is the problem?

 
Для начала хотелось бы узнать вообще об ошибке 127. И где почитать об ошибках, которых нет в:
https://book.mql4.com/ru/appendix/errors
 
There is no description of error 127 in https://book.mql4.com/ru/appendix/errors, Someone with matlab experience pls help me. thanks
 

Столкнулся с такой же ситуацией. В Borland C++ Builder 6.0 написал небольшую dll (для тествов) и попробовал импортировать из нее функцию в MQL4

Получил такую же ошибку. Но если смотреть какием либо вьювером на мою dll эта функция видна.

Вопрос тот же: как победить эту ситуацию ?

 
Мы выдаем не только свои номера ошибок, но и ошибки Windows API (например, при вызове DLL).

127 ошибка Windows API - это "Не найдена указанная процедура":
 
olyakish:

Вопрос тот же: как победить эту ситуацию ?


Выложив кусок кода MQL4, где происходит импорт и скриншот "depends.exe ваша_длл" с таблицей экспорта:
 
olyakish:

Столкнулся с такой же ситуацией. В Borland C++ Builder 6.0 написал небольшую dll (для тествов) и попробовал импортировать из нее функцию в MQL4

Получил такую же ошибку. Но если смотреть какием либо вьювером на мою dll эта функция видна.

Вопрос тот же: как победить эту ситуацию ?


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

Смысл следующий: нужно скачать depends.exe (http://www.dependencywalker.com/). Он показывает, что C++ Builder добавляет к имени экспортируемой функции префикс и постфикс, поэтому она е находится по своему имени, как оно указано в исходной программе.
Как бороться с ситуацией на примерах показано здесь: http://rsdn.ru/article/devtools/bcbdll.xml
 
karakos:
olyakish:

Столкнулся с такой же ситуацией. В Borland C++ Builder 6.0 написал небольшую dll (для тествов) и попробовал импортировать из нее функцию в MQL4

Получил такую же ошибку. Но если смотреть какием либо вьювером на мою dll эта функция видна.

Вопрос тот же: как победить эту ситуацию ?


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

Смысл следующий: нужно скачать depends.exe (http://www.dependencywalker.com/). Он показывает, что C++ Builder добавляет к имени экспортируемой функции префикс и постфикс, поэтому она е находится по своему имени, как оно указано в исходной программе.
Как бороться с ситуацией на примерах показано здесь: http://rsdn.ru/article/devtools/bcbdll.xml

Спасибо за ссылки. Разобрался как объявлять правильно функции для экспорта чтобы не искажалось ее имя.

В моем случае это выглядит так

#include <vcl.h>
#include <windows.h>
#pragma hdrstop

extern "C" int __declspec(dllexport) __stdcall ret11()
{
return 11;
}

На просмотре вижу не искаженное имя ret11 без префиксов и постфиксов.


Еще раз спасибо всем.