现象:我已经建立了一个库文件,并且使用该库的EA已经顺利执行了几个月。代码就是这样:
在库文件中:
void MyFunction(int mode)
....
在EA中
#import "MyLibrary.ex4"
void MyFunction(int mode);
#import
......
MyFunction(1);
现在,我打开一个新脚本,调用Test.mq4
,然后在我的EA中复制粘贴相关代码。就像:
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#import "MyLibrary.ex4"
void MyFunction(int mode);
#import
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
MyFunction(1);
}
执行脚本。始终收到消息:Unresolved function call; Cannot find "Myfunction" in MyLibrary.ex4
。
这已经发生过几次了。通过打开新脚本解决问题,将stdlib.mq4
中的所有内容复制到其中,然后用我自己的代码替换正文,它就可以工作。但是这次没有。我很好奇背后的问题是什么,所以导入失败了?
我已经多次重新编译了库,EA和测试脚本。
答案 0 :(得分:0)
最后,我提出了解决方案:明确删除之前编译的ex4文件,然后单击“重新编译”按钮,此问题已解决。似乎当该文件存在时,重新编译该文件无法覆盖我这边存在问题的某些配置,因此您必须找到ex4文件的目录并手动将其删除。