Ну и MQL
#property strict
#property version "1.0"
#import "Test1.dll"
int Add(int left,int right);
#import
//+------------------------------------------------------------------+
int OnInit()
{
OnTick();
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
void OnTimer()
{
}
//+------------------------------------------------------------------+
void OnTick()
{
Print(Add(3,666));
return;
}
Пробовал и по другому пути.
DLL-ку собрал, но ошибка та же.
в 2015 пишешь?
Просто снес 17-ое, поставил 10-ое.
Открываю ранее написанный мною проект, говорит, что написано на более поздней версии.
пробую 2015 установить...
Не парься со сносом VS, я пробовал разные версии VS, код RGiesecke ни на одной в MQL не экспортирует.
Нужно @Vasiliy Sokolov звать, он вроде на C# давно пилит.
Не парься со сносом VS, я пробовал разные версии VS, код RGiesecke ни на одной в MQL не экспортирует.
Нужно Соколова звать, он вроде на C# давно пилит.
а старые работают Dll?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Все сделал так, как здесь:
https://www.mql5.com/ru/articles/249
Ошибка в МТ4:
Cannot find 'Add' in 'Test1.dll'
В чем может быть проблема?
Раньше вроде бы прокатывало, теперь нет. Правда пользовался VS более ранней версии чем 2017
Пробовал и МТ4 и МТ5. Ошибка идентична.
VS 2017, вот код на C#:
using System;
using System.Text;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;
namespace Test1
{
class Class1
{
[DllExport("Add", CallingConvention = CallingConvention.StdCall)]
public static int Add(int left, int right)
{
return left + right;
}
[DllExport("Sub", CallingConvention = CallingConvention.StdCall)]
public static int Sub(int left, int right)
{
return left - right;
}
[DllExport("AddDouble", CallingConvention = CallingConvention.StdCall)]
public static double AddDouble(double left, double right)
{
return left + right;
}
[DllExport("AddFloat", CallingConvention = CallingConvention.StdCall)]
public static float AddFloat(float left, float right)
{
return left + right;
}
}
}