我想导入下面的C#代码,它作为一个dll很好地工作到MQL5中。你能帮我做一下装订吗?(我正在使用2015)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Keygen
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form2());
}
}
}MQL5代码是:
#property strict
#import "Keygen.dll"
void Program();
#import
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
Program();
}
//+--
----------------------------------------------------------------+在mql5中编译之后,我得到以下错误:
Cannot find 'Program' in 'Keygen.dll'
unresolved import function call发布于 2020-07-29 11:25:42
我解决了这个问题,将64位dll文件放在MT5终端的“库”文件夹中,并像这样修改MQL代码。
#import "Keygen.dll"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
Program::Main();
}
//+------------------------------------------------------------------+发布于 2021-09-14 20:00:59
我也有同样的问题。最后我想明白了。程序集名称、项目属性中的默认名称空间和名称空间名称必须相同!然后一切都会正常运转。
https://stackoverflow.com/questions/63071560
复制相似问题