Скачать MetaTrader 5

Mql4 и ситуация с Microsoft Visual C++ 2010 Express

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
У тебя Mac OS? Узнай, как установить на нее MetaTrader!
Дмитрий
418
Дмитрий 2010.11.01 16:48 

Здравствуйте, у меня совсем нубовский вопрос по С++.

Используя sampleDll из Метатрейдера 4 в Microsoft Visual C++ 2010 Express, получаю нерабочую dll-ку, которая выдаюет рантайм эроры.

Подскажите, как переписать код из \experts\samples\DLLSample\ExpertSample.cpp, чтобы он в Visual C++ 2010 собирал нормальную библиотеку.

Спасибо.

Vadim Zhunko
5227
Vadim Zhunko 2010.11.01 17:52  
Он и так нормально собирается. Надо только конвертировать его под новую Студию. Она сама предлагает это сделать.
Дмитрий
418
Дмитрий 2010.11.01 20:13  

Так в том то и ситуация, что после того, как предлагает конвертировать... говорит что файл ExpertSample.dsp не найден.

А поэтому в лог пишется: D:\DLLSample\ExpertSample.dsp : error : Не удалось обновить проект.

А если открывать именно файл ExpertSample.dsp то, 2010 студия просто глючит и ничего не делает.

Vladyslav Goshkov
2067
Vladyslav Goshkov 2010.11.01 20:59  
vedroid:

Так в том то и ситуация, что после того, как предлагает конвертировать... говорит что файл ExpertSample.dsp не найден.

А поэтому в лог пишется: D:\DLLSample\ExpertSample.dsp : error : Не удалось обновить проект.

А если открывать именно файл ExpertSample.dsp то, 2010 студия просто глючит и ничего не делает.

Загрузил путем вызова ExpertSample.dsw в студию 2010

Проблем не обнаружил...

Все нормально конвертировалось и откомпилировалось ......

Андрей
1890
Андрей 2010.11.01 21:21  

А в Express'е что, Platform SDK с файлом <windows.h> установлен ? 

Дмитрий
418
Дмитрий 2010.11.01 22:29  

to VladislavVG


1. Это при открытие решения по ExpertSample.dsw файлу, хотя пишет мол проблема с dsp файлом



2. Странно, но у меня даже если я по примеру с MT5 делаю не выходит даже простейшей функции: https://www.mql5.com/ru/articles/18

Правильно оформленная экспортная функции должна иметь следующий вид:

_DLLAPI int __stdcall fnCalculateSpeed(int &res1,double &res2)
  {
   return(0);
  }

Но уже по другой причине... пишет в логе Метатрейдера

2010.11.01 22:33:46 dll01 EURUSD,H1: cannot call function 'plus' from dll 'myDll.dll' (error 127)




3. Владислав, могли бы вы выложить ахривом сконвертированную версию проекта под VS 2010?

Vadim Zhunko
5227
Vadim Zhunko 2010.11.01 22:44  
Вот от меня.
Файлы:
dllsample.rar 11 kb
Vladyslav Goshkov
2067
Vladyslav Goshkov 2010.11.01 23:18  
vedroid:

to VladislavVG



3. Владислав, могли бы вы выложить ахривом сконвертированную версию проекта под VS 2010?

Вот, пробуйте.
Файлы:
dllsample_v.rar 3309 kb
Дмитрий
418
Дмитрий 2010.11.01 23:20  
Спасибо, попробую. Только уже завтра...доброй ночи. ;-)
Дмитрий
418
Дмитрий 2010.11.02 00:00  

Жаль, но решил нас расстроить на ночь глядя...

вот 2 скрина:

1. на нем старая собранная в Visual C++ 6 (наверное...)

2. собранная вами в Visual Studio 2010.


сверху работает, а снизу не работает.


Vladyslav Goshkov
2067
Vladyslav Goshkov 2010.11.02 08:05  
vedroid:

Жаль, но решил нас расстроить на ночь глядя...

вот 2 скрина:

1. на нем старая собранная в Visual C++ 6 (наверное...)

2. собранная вами в Visual Studio 2010.


сверху работает, а снизу не работает.


У меня все работает...... Проверьте каких библиотек не хватает. Просто запустите, загрузите скомпиллированную длл. Появится список связанных библиотек - те, которых нет, будут выделены - я Вам просто их скину.

Файлы:
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий