下载MetaTrader 5
要添加评论,请登录注册
找到程序员的最佳位置在哪里?自由工作服务!
zlx
17
zlx 2013.07.15 04:53 
我想编个DLL,其中函数将产生两个返回参数,请问,这可以实现吗?如何实现呢?我试过用全程变量(MT4中用外部变量),好象不行! 在MT4中,函数好象都是返回一个参数的。 多谢!
BaiChun Li
838
BaiChun Li 2013.07.17 12:48  
这个帖子我看已经飘了几天了,依然没有被回复。 一来,估计大家可能是比较忙;二来,似乎是一个不需要回答问题,因为绝大多数人、大体上是无论是在任何语言里面都知道类似return的这样的语句是只能返回唯一的一个值的——这是规则。 ------------------------------------------------------------ 但是,条条大路真的也的确是可以通向罗马的。 所以,我可以非常非常负责任的告诉你,不要说得到回两个值,就是得到三个、四个、五个....值,都是可以的! 因为,这种问题是我接触到“return”可能都不超过3天就已经实践出来的结果,根本没什么的,再简单不过了。
zlx
17
zlx 2013.07.29 00:09  

确实是这样,我用数组作为参数,把这个问题给解决了。

现在我又遇到一个问题:

用vc++编写DLL时,其中的多个函数如何共用多个数组变量?因为DLL中有十多个函数的形式参数中要用到相同的多个数组,每个函数中都存放这么多参数时,如果函数的数量少的话,是可以正确传递调用。但函数一多,就会遇到麻烦。且这种方法也不好。
我试了用全程变量,但怎么试也不正确。
有人说可以把参数用结构体形式传递就行,但怎么在MT4中把结构体中的数组传过去呢?这个在MT4中怎么表达?

谢谢!

okwh
1630
okwh 2013.07.30 01:48  

既然你在编dll,那用在C 中跟踪调试,检查以不同方式传参数(值变量,数组,字符串,指针变量等)时,到底传的什么,内存分配和释放谁负责....

zlx
17
zlx 2013.07.30 05:44  

我哪有那么专业,能作到模仿应用就不错了。

我试了, 用结构体确实可以传递,但函数的参数并没有减少,也就是没有真正地作到:在DLL中共享数据。

估计没有更好的办法了,先将就着用吧。

/
要添加评论,请登录注册