подключить внешнюю dll

 
помогите пожалуста, пытаюсь подключить внешнюю длл к советнику и тестировать его как описано в примере к мт4(v4 build 200 17 nov 2006). компиляция проходит нормально . подключение внешних длл в настроиках разрешено .
при тестировании в журнале пишет
" 2005.02.02 20:30 Moving Average EURUSD,M30: cannot call function 'GetIntValue' from dll 'ExpertSample.dll' ".
статья 'Использование крешлогов для отладки собственных dll'  не помогла - crashlog.log не генерируется
 
1. Прикрепите ZIP-файл исходников.
2. С помощью чего компилируете DLL?
3. Куда кладете итоговый файл DLL?
 

в MetaTrader 4\experts\samples\DLLSample\ExpertSample.cpp добавил :
//------------------------------------------------------------------------------
MT4_EXPFUNC int __stdcall GetIntValue1(const int ipar)
{
printf("GetIntValue1 takes %d\n",ipar);
return(ipar);
}
1 компилил MetaTrader 4\experts\samples\DLLSample\ExpertSample.dsw ок
2 сопировал в MetaTrader 4\experts\libraries\ExpertSample.dll
3 сопировал MetaTrader 4\experts\samples\include\sampledll.mqh в MetaTrader 4\experts\include\sampledll. mqh
4 в MetaTrader 4\experts\Moving Average.ex4 добавил :
#include <sampledll.mqh>
........
cnt = GetIntValue(some_value);
//cnt = GetIntValue1(some_value);
Print("Returned value is ",cnt);
компиляция ок
тестирование : Print в журнал пишет. - работает без проблем

5 в MetaTrader 4\experts\include\sampledll.mqh добавил :
int GetIntValue1(int);
в MetaTrader 4\experts\Moving Average.ex4 добавил :
cnt = GetIntValue1(some_value);
компиляция ок при тестировании пишет типа немогу импортировать GetIntValue1(some_value) из ExpertSample.dll

Файлы:
sampledll.mqh  1 kb
 
ещё
 
Файлы:
 
Предположительно, вы не объявили ф-цию как экспортируемую. В примере файлик .def, раздел EXPORTS
 
rip писал (а):
Предположительно, вы не объявили ф-цию как экспортируемую. В примере файлик .def, раздел EXPORTS

спасибо попробую. в хелпе вроде такого  нет :-((( 
 
igor_m:
rip писал (а):
Предположительно, вы не объявили ф-цию как экспортируемую. В примере файлик .def, раздел EXPORTS

спасибо попробую. в хелпе вроде такого нет :-(((

виноват - vc и написание длл плохо знаю
 
Мне прислали подобный вопрос, поскольку с длл не работал, чего и как не знаю, выкладываю здесь, может кто поймет, что к чему и поможет автору вопроса? Сейчас отправлю ему ссылку на эту тему... Простите за допнагрузку :) знал бы как - ответил бы сам.

Цитата:

Здравствуйте,
помогите, пожалуйста, запустить библиотеку. Сделал индикатор, и уже 2.5 месяца не могу проверить его работу из-за того, что не знаю, как задать параметры командной строки для запуска библиотеки. Обращался на форумы - никто не помог. В прикрепленном файле находится библиотека которая должна запускать на выполнение файл в двух режимах по очереди - TEACH и RUN.
Вот заголовок функции, которая находится в файле bgexec.dll:

BOOL ExecCmd(PChar lpCmdLine, DWORD lpExitCode, DWORD dwTimeOut, BOOL bTerminate): BOOL;

При этом:
lpCmdLine - это командная строка, которую необходимо выполнить.
К примеру "C:\Program Files\Ded\Bin\DSt.exe" "D:\Мои документы\demo.ded" /RUN
lpExitCode - адрес переменной, в которую будет записан код возврата
работы приложения
dwTimeOut - время ожидания завершения выполнения исполняемого файла
(-1, если необходимо ждать до бесконечности)
bTerminate - Признак того, необходимо ли принудительно завершить
работу приложения в случае истечения таймаута.
В принципе, эта библиотека должна запускать любой ехе - файл, прописанный в командной строке и это можно использовать при отладке. Но как правильно задать все выше перечисленные параметры в индикаторе написанном на MQL4, я не знаю, сколько не пробовал, ничего не получилось.
Заранее благодарю, за помощь.

С наилучшими пожеланиями, Христиан.
 
сперва надо убедиться , что данная библ просто работает с обычным приложением. (читать программерские сайты ) например http://www.codenet.ru/progr/bcb/dll.php
 
igor_m:
сперва надо убедиться , что данная библ просто работает с обычным приложением. (читать программерские сайты ) например http://www.codenet.ru/progr/bcb/dll.php
Эту библиотеку мой знакомый запускал создав ехе - файл на VC++, приложение стартовало нормально, но в индикаторе я не могу правильно задать параметры, не знаю как это сделать на MQL4.
Причина обращения: