【发布时间】:2016-10-19 00:07:31
【问题描述】:
有没有办法从 MQL4 中的导入函数返回结构,而不必将其作为参数传递并制作 memcpy?
【问题讨论】:
标签: mql4 metatrader4
有没有办法从 MQL4 中的导入函数返回结构,而不必将其作为参数传递并制作 memcpy?
【问题讨论】:
标签: mql4 metatrader4
小心使用任何类型的 DLL 接口,MQL4 文档指出:
传递参数
所有简单类型的参数都通过值传递,除非明确指出它们是通过引用传递的。传递字符串时,传递的是复制字符串的缓冲区地址;如果一个字符串是通过引用传递的,这个字符串的缓冲区地址会被传递给从 DLL 导入的函数。
结构包含动态数组[ ]、字符串、类、其他复杂结构,以及静态或 枚举对象的动态数组[],不能作为参数传递给导入的函数。
将数组传递给 DLL 时,始终传递数据缓冲区的开头地址(与AS_SERIES标志无关)。 DLL 中的函数对AS_SERIES标志一无所知,传递的数组是未定义长度的静态数组;应使用附加参数来指定数组大小。
更多故障适用...那么如何使它工作?
也许一个直接的、异构的多方分布式处理,而不是函数调用,而不是函数调用,独立于维护 DLL 导入函数 API 更改的所有噩梦,是一种更安全的方式。在过去的几年中使用这种方法,此后 新-MQL4.56789 string-s 没有问题,它抓住了 string-s 并保持沉默开始变成struct-s等
值得了解。
【讨论】: