mql4 - MQL 中的“未解决的函数调用”,所有配置都已设置
问题描述
现象:我已经构建了一个库文件,使用该库的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 和测试脚本。
解决方案
最后我做出了解决办法:显式删除你之前编译的ex4文件,然后点击重新编译按钮,就解决了。看来当文件存在时,重新编译文件并不能覆盖我这边出现故障的一些配置,所以你必须找到你的ex4文件的目录并手动删除它。
推荐阅读
- c# - C# Selenium javascript 删除元素不起作用
- react-native - 如何从嵌套的 toptabnavigator 导航到父 StackNavigator?
- rust - Rust 是否正式区分了将编译时检查换成运行时检查的结构?
- python - python中对象和方法的递归
- database - 在 Couchbase 中使用 N1QL 从对象对象中获取所有唯一键
- python - 将 LIVE SPEECH 与 Tkinter GUI 连接
- machine-learning - 如何在分类中获取类名?
- javascript - 从两个字段计算值并显示在 JavaScript 的第三个字段中
- machine-learning - 我将如何计算非线性(rbf 内核)svm 中距超平面/决策边界的边距距离?
- flutter - 如何在没有 Cupertino 底栏的情况下路由到新页面