我的方法。核心是引擎。 - 页 94 1...87888990919293949596979899100101...184 新评论 khorosh 2018.12.19 19:28 #931 Vitaly Muzichenko:美丽的独白)哈姆雷特休息了)。 Nikolai Semko 2018.12.19 23:40 #932 Реter Konow:那么,有什么问题呢? 错误 - 遇到的问题https://www.mql5.com/ru/docs/runtime/resources 阅读帮助。 引用。 Напомним, что для использования ресурса из mql5-программы его необходимо указывать в виде: <путь_имя_файла_EX5>::<имя_ресурса>. Реter Konow 2018.12.20 06:41 #933 Nikolai Semko:https://www.mql5.com/ru/docs/runtime/resources 阅读参考资料. 引用。 是的,想通了。我把它插错了。 Реter Konow 2018.12.20 07:20 #934 Реter Konow: 我的想法是这样的。有一种方法可以使用其他程序的资源。我想解决方案就在那里。我必须在文档中查找。不正确地连接了资源。 你需要指定我们想要读取其资源的程序的路径。 在阅读程序中,你必须在另一个程序中设置与资源文件的连接。 if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"\\Experts\\Tester EA.ex4::Resource"))Print("Resource is not connected!"); 而在读取资源时,也要指定完整的路径。 if(!ResourceReadImage("\\Experts\\Tester EA.ex4::Resource",Data,width,height))Print("Failed to read resource! ",GetLastError()); //-------------------------------------------- 但是,有一个新的胡说八道。 读取资源时,行中出现斑点。以下是代码。 void OnTimer() { //--- uchar Arr[]; uint Data[],width,height; //----------------------------- if(!ResourceReadImage("\\Experts\\Tester EA.ex4::Resource",Data,width,height))Print("Failed to read resource! ",GetLastError()); //----------------------------- ArrayCopy(Arr,Data); //----------------------------- string Message = CharArrayToString(Arr); //----------------------------- Print(Message); } 而奇怪的是,如果我们把带有资源的专家顾问从图表中删除,阅读程序将继续接收该资源。这个资源将有相同的红色文本和垃圾。垃圾总是不同的。 那你应该如何处理呢? ZS.我将尝试在CharArrayToString() 中指定其他页面编码。 Реter Konow 2018.12.20 07:35 #935 有趣的是,流苏线的大小与带有信息的阵列的大小 相对应。 但是,在流苏中,有时会闪现出几乎精确的Bid值,写在第二面。它们闪动一次,里面也有一两个流苏。但它们是可读的。然后,又是一阵阵的斑点。 事实证明,在资源填充事件的发送方,一切都做得很正确。然后,阅读方接受资源,该资源已在内部被破坏,并被扔掉了。读取方读取资源中的信息的速度越快,信息的完整性就越强。 所以你需要精确的读/写同步? ZS,亲爱的fxsaber,你能澄清一下这里有什么问题吗?我在此附上文件。 附加的文件: Tester_EA.mq4 3 kb Resource_reader.mq4 3 kb fxsaber 2018.12.20 07:45 #936 Реter Konow:ZS,亲爱的fxsaber,你能解释一下这里有什么问题吗?这里的许多人立即看到了你的错误,但宁愿保持沉默,因为这充满了危险。而且我非常理解他们。我事先说过,我不会在事后回答。要学会寻找自己的错误,正确树立他人的态度。 对代码。 你通过ArrayCopy将uint复制到ugar中--一个错误。 CharArrayToString- 如果字符串是ANSI的,这将工作。 梳理类型的字节表示法的特殊性。 Реter Konow 2018.12.20 07:50 #937 fxsaber:这里的许多人直接看到了你的错误,但宁愿保持沉默,因为这充满了危险。而且我非常理解他们。事后我不会回答。要学会寻找自己的错误,正确树立他人的态度。 对代码。 你通过ArrayCopy将uint复制到ugar中--一个错误。 CharArrayToString - 如果字符串是ANSI的,这将工作。 尝试理解类型的字节表示法的特殊性。当我周围的人尊重我的解决方案时,我也尊重他们的解决方案。嗯,你不能有任何其他方式。相互尊重。 通过代码。谢谢你。我看看我可以做什么。 Реter Konow 2018.12.20 13:51 #938 妈的,我受够了。我花了半天时间才搞清楚。 已经知道了工会的情况。但这个解决方案是立方体中的一个拐杖。你仍然需要在那里进行字节操作。但对于我的任务来说,这完全不重要。 使用对象描述 的工作要容易得多。它是有保证的,而且很简单。但我不知道资源是否能通过测试器发挥作用。这不值得麻烦。 这里有一个通过工会的解决方案。 //+------------------------------------------------------------------+ //| Tester EA.mq4 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ union Char_Uint { uchar Char[8]; uint Uint[2]; double Double; }; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //---------------------------------------------- if(!ObjectCreate(0,"Resource",OBJ_BITMAP_LABEL,0,0,0))Print("Object is not created! ",GetLastError()); else Print("Object created!"); //------------------------------- if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"::Resource"))Print("BMPFILE is not created!"); else Print("BMPFILE created!"); //---------------------------------------------- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--------------------------- Char_Uint u; //--------------------------- u.Double = Bid; //--------------------------- if(!ResourceCreate("::Resource",u.Uint,2,1,0,0,0,COLOR_FORMAT_XRGB_NOALPHA))Print("Resource is not created!"); //--------------------------- } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+ 还有一个阅读指标。 //+------------------------------------------------------------------+ //| Resource reader.mq4 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window //+------------------------------------------------------------------+ union Char_Uint { uchar Char[8]; uint Uint[2]; }; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping EventSetMillisecondTimer(5250); if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"\\Experts\\Tester EA.ex4::Resource"))Print("Resource is not connected!"); else Print("Resource connected!"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- Char_Uint u; uint width,height; string Message; //----------------------------- if(!ResourceReadImage("\\Experts\\Tester EA.ex4::Resource",u.Uint,width,height))Print("Failed to read resource! ",GetLastError()); //----------------------------- Message = CharArrayToString(u.Char); //----------------------------- Print(Message); //----------------------------- } //+------------------------------------------------------------------+ Реter Konow 2018.12.20 13:54 #939 我一直收到鳄鱼。它总是不同的。因此,资源中存在着各种垃圾。如果它的内容是相同的,那么它就不会有太大的变化。 一般来说,不清楚这一切应该如何运作...... 也许我以后会找到一个解决方案.... Реter Konow 2018.12.20 14:29 #940 工会无疑是一个有趣的东西。然而,我并没有想到它可能会有什么用途(除了保护资源之外)。 1...87888990919293949596979899100101...184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
美丽的独白)
哈姆雷特休息了)。
那么,有什么问题呢?
错误 -
遇到的问题
https://www.mql5.com/ru/docs/runtime/resources
阅读帮助。
引用。
https://www.mql5.com/ru/docs/runtime/resources
阅读参考资料.
引用。
是的,想通了。我把它插错了。
我的想法是这样的。有一种方法可以使用其他程序的资源。我想解决方案就在那里。我必须在文档中查找。
不正确地连接了资源。
你需要指定我们想要读取其资源的程序的路径。
在阅读程序中,你必须在另一个程序中设置与资源文件的连接。
而在读取资源时,也要指定完整的路径。
//--------------------------------------------
但是,有一个新的胡说八道。
读取资源时,行中出现斑点。以下是代码。
而奇怪的是,如果我们把带有资源的专家顾问从图表中删除,阅读程序将继续接收该资源。这个资源将有相同的红色文本和垃圾。垃圾总是不同的。
那你应该如何处理呢?
ZS.我将尝试在CharArrayToString() 中指定其他页面编码。
有趣的是,流苏线的大小与带有信息的阵列的大小 相对应。
但是,在流苏中,有时会闪现出几乎精确的Bid值,写在第二面。它们闪动一次,里面也有一两个流苏。但它们是可读的。然后,又是一阵阵的斑点。
事实证明,在资源填充事件的发送方,一切都做得很正确。然后,阅读方接受资源,该资源已在内部被破坏,并被扔掉了。读取方读取资源中的信息的速度越快,信息的完整性就越强。
所以你需要精确的读/写同步?
ZS,亲爱的fxsaber,你能澄清一下这里有什么问题吗?
我在此附上文件。
ZS,亲爱的fxsaber,你能解释一下这里有什么问题吗?
这里的许多人立即看到了你的错误,但宁愿保持沉默,因为这充满了危险。而且我非常理解他们。我事先说过,我不会在事后回答。要学会寻找自己的错误,正确树立他人的态度。
对代码。
你通过ArrayCopy将uint复制到ugar中--一个错误。
CharArrayToString- 如果字符串是ANSI的,这将工作。
梳理类型的字节表示法的特殊性。
这里的许多人直接看到了你的错误,但宁愿保持沉默,因为这充满了危险。而且我非常理解他们。事后我不会回答。要学会寻找自己的错误,正确树立他人的态度。
对代码。
你通过ArrayCopy将uint复制到ugar中--一个错误。
CharArrayToString - 如果字符串是ANSI的,这将工作。
尝试理解类型的字节表示法的特殊性。
当我周围的人尊重我的解决方案时,我也尊重他们的解决方案。嗯,你不能有任何其他方式。相互尊重。
通过代码。谢谢你。我看看我可以做什么。
妈的,我受够了。我花了半天时间才搞清楚。
已经知道了工会的情况。但这个解决方案是立方体中的一个拐杖。你仍然需要在那里进行字节操作。但对于我的任务来说,这完全不重要。
使用对象描述 的工作要容易得多。它是有保证的,而且很简单。但我不知道资源是否能通过测试器发挥作用。这不值得麻烦。
这里有一个通过工会的解决方案。
还有一个阅读指标。
我一直收到鳄鱼。它总是不同的。因此,资源中存在着各种垃圾。如果它的内容是相同的,那么它就不会有太大的变化。
一般来说,不清楚这一切应该如何运作......
也许我以后会找到一个解决方案....
工会无疑是一个有趣的东西。然而,我并没有想到它可能会有什么用途(除了保护资源之外)。