错误、漏洞、问题 - 页 1161 1...115411551156115711581159116011611162116311641165116611671168...3184 新评论 Andrey Dik 2014.06.27 06:30 #11601 joo:v4.3,自定义固件。主窗口是横向位置,其他对话(订单)是纵向位置。恼人的不可控的从主窗口到对话框的来回切换。 来吧....甚至像Smart Rotator这样的专业软件也没有帮助....。有趣的是,如果你在终端的智能旋转器中强行设置横向,所有的窗口都会变成横向。- 我为终端设置了纵向模式,然后呢?- 嘿嘿...仍有一些窗口是横向的,一些是纵向的。 Alexey Navoykov 2014.06.30 06:48 #11602 元编辑中的一个缺陷。假设我们有一些函数Obj(),返回一个指向对象的指针。class CObject { public: int value; }; CObject object; CObject* Obj() { return GetPointer(object); } 现在,如果我们直接通过函数引用对象:Obj().value= 10,在输入一个点后,不会出现弹出的类 成员和方法 列表。 Vasiliy Sokolov 2014.06.30 11:21 #11603 meat:鉴于MQL不支持类模式,CArray类 并不是万能的。 我们的数组不一定由简单的类型组成,为程序中的每个新类创建一个完整的CArray后裔结构并不十分有趣。看看每个CArray的后代文件需要多少行代码(ArrayInt.mqh, ArrayDouble.mqh等)。而程序结构如何组织则是次要的。我们不要偏离主题。 重点是,如果有一些可以改变的参数(在这种情况下是reserve_size),应该可以得到它。复杂类型继承自CObject,并安全地打包在CArrayObj中。reserve_size - 打破了经济编程的范式。它只为初学者而存在,在正常的语言中一定根本不存在。 Alexey Navoykov 2014.06.30 23:00 #11604 C-4:reserve_size - 违反了节俭的编程范式。它只为初学者存在,在正常的语言中根本不应该存在。你有一个奇怪的范式。预留正是为了经济地使用资源,减少内存重新分配和数据传输的次数(而这些都是相当昂贵的操作)。 而必须管理这个参数的是代码开发人员,因为只有他事先知道他的程序将如何使用内存。 而且这与语言无关,因为数组就是数组,它到处都需要内存。 Vasiliy Sokolov 2014.07.01 06:50 #11605 meat:这对你来说是一个奇怪的范式。预留正是为了经济地使用资源,减少内存重新分配和数据传输的次数(而这些都是相当昂贵的操作)。 而必须管理这个参数的是代码开发人员,因为只有他事先知道他的程序将如何使用内存。 而且这与语言无关,因为数组就是数组,它到处需要内存。所以你已经回答了你自己的问题。应该由代码开发人员来管理这个参数,因为只有他事先知道他的程序将如何使用内存。这与语言完全没有关系。它与语言手段无关,因此必须在更高的、用户层面上解决。因此,用专门为这些任务创建的CArray* 类来解决你的任务,顺便说一下,CArray* 类能出色地处理这个任务,就像为它创建的一样。 Vasiliy Sokolov 2014.07.01 06:55 #11606 meat:你有一个奇怪的范式。冗余的设计正是为了节约使用资源,减少内存重新分配和数据传输的次数(这是相当昂贵的操作)......void TestFoo() { CArrayObj listObj; listObj.Resize(100); for(int i = 0; i < 100; i++) listObj.Add(new CObject()); int count = CountObj(listObj); } void CountObj(CArrayObj* obj) { return obj.Size(); } 超级省钱的代码。由于事先知道元素的数量,所以根本不会发生内存的重新分配。传递的不是数组,而是指向数组的指针。速度快得令人难以置信,而且不需要 reserve_size。你不喜欢这个解决方案的什么? Alexey Navoykov 2014.07.01 15:38 #11607 C-4: 超级省钱的代码。完全没有内存的重新分配,因为项目的数量是事先知道的。传递的不是数组,而是指向数组的指针。速度快得令人难以置信,而且不需要 reserve_size。这个解决方案有什么不适合你的地方?诶,要是这么简单就好了......在现实世界中,元素的数量通常不是事先就知道的。更重要的是,这个数字是动态变化的。所以你简化的 "Hello world "的例子是没有意义的。它只需用两行字就可以取代。CObject listObj[100]; int count = ArraySize(listObj); 好吧,这些垃圾有什么意义? 如果你个人不使用reserve_size参数,欢迎你。但不要做出其他人都是傻瓜或新手的结论。在标准的STL容器中,被设计用来处理数组(向量、字符串等),像储备 和容量 这样的方法也总是存在的。 Andrey Dik 2014.07.02 11:36 #11608 joo:来吧....甚至像Smart Rotator这样的专业软件也没有帮助....。有趣的是,如果我在终端的智能旋转器中强制要求横向,所有的窗口都会变成横向。但我想要的是纵向模式- 我把终端设置为纵向模式,然后呢?- 嘿嘿...仍有一些窗口是横向的,一些是纵向的。 在库存固件上运行良好(至少与预期一致)。 Alexey Navoykov 2014.07.03 01:07 #11609 在最新的版本中,MetaEditor中的搜索(右上角 的方框)不再正常工作。当我在那里输入我要找的词时,它自动用一些类似的短语代替,这些短语来自我不知道的地方,没有任何理由。结果,你无法在你的代码中找到任何东西。 例如,我试图找到一个名为 "ERROR_VALUE "的变量,但在搜索行中得到的却是 "error_value 7"。问题:怎么了? 搜索栏里的这些左派垃圾是怎么来的,怎么把它弄出来? Vasiliy Smirnov 2014.07.03 04:30 #11610 meat:在最新的版本中,MetaEditor中的搜索(右上角 的方框)不再正常工作。当我在那里输入我要找的词时,它自动用一些类似的短语代替,这些短语来自我不知道的地方,没有任何理由。结果,你无法在你的代码中找到任何东西。 例如,我试图找到一个名为 "ERROR_VALUE "的变量,但在搜索行中得到的却是 "error_value 7"。问题:怎么了? 搜索栏里的这些左派垃圾是怎么来的,怎么把它弄出来? 清理键盘。 1...115411551156115711581159116011611162116311641165116611671168...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
v4.3,自定义固件。
主窗口是横向位置,其他对话(订单)是纵向位置。恼人的不可控的从主窗口到对话框的来回切换。
来吧....甚至像Smart Rotator这样的专业软件也没有帮助....。
有趣的是,如果你在终端的智能旋转器中强行设置横向,所有的窗口都会变成横向。- 我为终端设置了纵向模式,然后呢?- 嘿嘿...仍有一些窗口是横向的,一些是纵向的。
元编辑中的一个缺陷。
假设我们有一些函数Obj(),返回一个指向对象的指针。
现在,如果我们直接通过函数引用对象:Obj().value= 10,在输入一个点后,不会出现弹出的类 成员和方法 列表。
鉴于MQL不支持类模式,CArray类 并不是万能的。 我们的数组不一定由简单的类型组成,为程序中的每个新类创建一个完整的CArray后裔结构并不十分有趣。看看每个CArray的后代文件需要多少行代码(ArrayInt.mqh, ArrayDouble.mqh等)。
而程序结构如何组织则是次要的。我们不要偏离主题。 重点是,如果有一些可以改变的参数(在这种情况下是reserve_size),应该可以得到它。
复杂类型继承自CObject,并安全地打包在CArrayObj中。
reserve_size - 打破了经济编程的范式。它只为初学者而存在,在正常的语言中一定根本不存在。
reserve_size - 违反了节俭的编程范式。它只为初学者存在,在正常的语言中根本不应该存在。
你有一个奇怪的范式。预留正是为了经济地使用资源,减少内存重新分配和数据传输的次数(而这些都是相当昂贵的操作)。 而必须管理这个参数的是代码开发人员,因为只有他事先知道他的程序将如何使用内存。 而且这与语言无关,因为数组就是数组,它到处都需要内存。
这对你来说是一个奇怪的范式。预留正是为了经济地使用资源,减少内存重新分配和数据传输的次数(而这些都是相当昂贵的操作)。 而必须管理这个参数的是代码开发人员,因为只有他事先知道他的程序将如何使用内存。 而且这与语言无关,因为数组就是数组,它到处需要内存。
所以你已经回答了你自己的问题。
它与语言手段无关,因此必须在更高的、用户层面上解决。因此,用专门为这些任务创建的CArray* 类来解决你的任务,顺便说一下,CArray* 类能出色地处理这个任务,就像为它创建的一样。
你有一个奇怪的范式。冗余的设计正是为了节约使用资源,减少内存重新分配和数据传输的次数(这是相当昂贵的操作)......
超级省钱的代码。完全没有内存的重新分配,因为项目的数量是事先知道的。传递的不是数组,而是指向数组的指针。速度快得令人难以置信,而且不需要 reserve_size。这个解决方案有什么不适合你的地方?
诶,要是这么简单就好了......在现实世界中,元素的数量通常不是事先就知道的。更重要的是,这个数字是动态变化的。所以你简化的 "Hello world "的例子是没有意义的。它只需用两行字就可以取代。
好吧,这些垃圾有什么意义? 如果你个人不使用reserve_size参数,欢迎你。但不要做出其他人都是傻瓜或新手的结论。在标准的STL容器中,被设计用来处理数组(向量、字符串等),像储备 和容量 这样的方法也总是存在的。
来吧....甚至像Smart Rotator这样的专业软件也没有帮助....。
有趣的是,如果我在终端的智能旋转器中强制要求横向,所有的窗口都会变成横向。但我想要的是纵向模式- 我把终端设置为纵向模式,然后呢?- 嘿嘿...仍有一些窗口是横向的,一些是纵向的。
在最新的版本中,MetaEditor中的搜索(右上角 的方框)不再正常工作。当我在那里输入我要找的词时,它自动用一些类似的短语代替,这些短语来自我不知道的地方,没有任何理由。结果,你无法在你的代码中找到任何东西。 例如,我试图找到一个名为 "ERROR_VALUE "的变量,但在搜索行中得到的却是 "error_value 7"。
问题:怎么了? 搜索栏里的这些左派垃圾是怎么来的,怎么把它弄出来?
在最新的版本中,MetaEditor中的搜索(右上角 的方框)不再正常工作。当我在那里输入我要找的词时,它自动用一些类似的短语代替,这些短语来自我不知道的地方,没有任何理由。结果,你无法在你的代码中找到任何东西。 例如,我试图找到一个名为 "ERROR_VALUE "的变量,但在搜索行中得到的却是 "error_value 7"。
问题:怎么了? 搜索栏里的这些左派垃圾是怎么来的,怎么把它弄出来?