Простые библиотеки можно использовать - без окон и т.д.
trading_ivest:
Как правильно задать параметры при запуске *.dll?
Запускаю библиотеку:
#import "Gold1.dll"
bool StartApp();
#import
bool ret;
ret = StartApp();
Не знаю что нужно указать в StartApp();Выдается ошибка: '(' - function definition unexpected C:Program FilesMetaTrader 4expertsindicatorsGoldM1o.mq4 (253, 17)
Никогда не работал с библиотеками, помогите разобраться.После завершения работы приложения, которое запускает библиотека, должен поступать код возврата работы приложения lpExitCode, который указывает на нормальное завершения или ошибку. Как его правильно записать и использовать в создаваемом индикаторе?
У Вас нет параметров в вызываемой функции. Скорее всего, Вы поместили
определение функции в тело другой функции. О чем компилятор
и сообщает - он в этом месте не ожидал увидеть описание функции.
Для более точного "диагноза" нужно полный код смотреть.
Как правильно задать параметры при запуске *.dll?
Запускаю библиотеку:
#import "Gold1.dll"
bool StartApp();
#import
bool ret;
ret = StartApp();
Не знаю что нужно указать в StartApp();Выдается ошибка: '(' - function definition unexpected C:Program FilesMetaTrader 4expertsindicatorsGoldM1o.mq4 (253, 17)
Никогда не работал с библиотеками, помогите разобраться.После завершения работы приложения, которое запускает библиотека, должен поступать код возврата работы приложения lpExitCode, который указывает на нормальное завершения или ошибку. Как его правильно записать и использовать в создаваемом индикаторе?
Успехов.
Vladislav - если Вы в Москве, можно с Вами встретиться и разобраться с моей проблемой. Мой т. 8-905-531-36-07.
ret = StartApp(); - вот эта строчка где находится?
Как у меня указано в примере. Все это находится после :
int start()
{//1
.............
#import "Gold1.dll"
#import "bgexec.dll"
bool StartApp(); //- выдается сообщение об ошибке с сылкой на эту строку
#import
bool ret;
ret = StartApp();
...............
}//1
В Gold1.dll я использую еще одну библиотеку - bgexec.dll.
trading_ivest:
Я в Харькове. Vladislav - если Вы в Москве, можно с Вами встретиться и разобраться с моей проблемой. Мой т. 8-905-531-36-07.
Вынесите код за пределы функции - Вам правильно подсказали.
Последняя прагма #import не нужна - комментируйте.
В коде программ, если это СС++ не забудьте сформировать вызов функции стандартным для длл способом
//--------------------------------------------------------------
// Это есть в примере
#define MT4_EXPFUNC __declspec(dllexport)
//Это Ваша функция
MT4_EXPFUNC bool _stdcall StartApp(void)
{
bool val = false;
....................
return(val);
}
//===================================
иначе получите крэш терминала.
Не забудьте внести имя функции StartApp в .def файл при сборке проекта, иначе эту функцию во внешней части длл видно не будет. Вроде все.
МТ-шный код должен примерно так выглядеть (я предпочитаю .mqh файл использовать, но это не обязательно).
#import "Gold1.dll" #import "bgexec.dll" bool StartApp(); //- выдается сообщение об ошибке с сылкой на эту строку // #import <-------- Это не нужно int start() {//1 ............. bool ret; ret = StartApp(); ............... }//1Если совсем туго будет и программируете на СС++ и устроит VCPP - перешлите код на мыло 4vg@mail.ru - что смогу поправлю. Если не хотите открывать алгоритмы - пишите пример, как Вы его себе представляете - поправлю - будете делать по образу и подобию.
Только сначала обязательно пробуйте сами - так больше пользы.
Успехов.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Запускаю библиотеку:
#import "Gold1.dll"
bool StartApp();
#import
bool ret;
ret = StartApp();
Не знаю что нужно указать в StartApp();Выдается ошибка: '(' - function definition unexpected C:Program FilesMetaTrader 4expertsindicatorsGoldM1o.mq4 (253, 17)
Никогда не работал с библиотеками, помогите разобраться.После завершения работы приложения, которое запускает библиотека, должен поступать код возврата работы приложения lpExitCode, который указывает на нормальное завершения или ошибку. Как его правильно записать и использовать в создаваемом индикаторе?