{
MT4Scope* scope = new MT4Scope(_Symbol, 222);
MT4Scope scope2(_Symbol, 223);
delete scope; // calls destructor
// here I want to call scope2 destructor, but I do not know how
// some additional code
}
intArrayMaximum(
constvoid& array[], // array for searchint count=WHOLE_ARRAY, // number of checked elementsint start=0// index to start checking with
);
MT5
intArrayMaximum(
constvoid& array[], // array for searchint start=0, // index to start checking withint count=WHOLE_ARRAY// number of checked elements
);
我仍然不确定我是否理解,但是...我不认为你可以把MQL4导入 声明为void*。你必须在导入中使用一个特定的数据类型,然后你只能用这个数据类型来使用DLL导入。如果你想用不同的数据类型来使用同一个DLL函数,那么你就有问题了,除非有一个变通的办法,比如https://www.mql5.com/en/forum/148934
事实上,我正在使用一个变通方法,但它很弱--将任何类型的数据包装成一个通用结构。接受通用结构作为参数可能会在未来的任何版本中发生变化。但这对数组不起作用。
事实上,我正在使用一种变通方法,但它很弱--将任何类型的文件包装成一个通用结构。接受通用结构作为参数可能会在未来的版本中发生变化,但这对数组不起作用。
...看来我错了。我们都忘记了,MQL4现在有函数 重载,因此可以做这样的事情。
...看来,我错了。我们都忘记了,MQL4现在有函数重载,因此有可能做这样的事情。
当然,这是我从一开始就谈到的 :)
到目前为止,我的导入 看起来像。
我想知道这个清单(单一的进口)在一年内会变得多长......
我还注意到,在编译依赖包含文件的代码时,有一点不一致的地方。
如果两个或更多的项目 共享同一个包含文件,而包含文件被修改了,那么第一个项目会检测到它并重新编译,而下一个项目则不会。但这并不是什么严重的问题(我们可以随时删除所有的ex4)。
我只需要一个快速的答案,我今天太累了,无法搜索。是否有可能在scope2 到达区块边界之前将其销毁?我认为不可能,但最好还是问一下。
没有。
谢谢你。
为什么 "ArrayMaximum "在MT4 600+和MT5之间不同? 我认为将MT4语法迁移到MT5语法的原因是为了方便开发可在两者上运行的应用程序。
MT4
MT5
为什么 "ArrayMaximum "在MT4 600+和MT5之间不同? 我认为将MT4语法迁移到MT5语法的原因是为了方便开发可在两者上运行的应用程序。