我的方法。核心是引擎。 - 页 60 1...535455565758596061626364656667...184 新评论 Реter Konow 2018.12.12 08:44 #591 Igor Makanu:...但是,如果你知道Windows中的事件模型是如何工作的,并且有与编译器和表单设计器一起工作的经验,那么一切在哪里都是一样的。ZS:这是我第三次看到Sharp,但我对Delphi有很好的经验,我完全看不出有什么不同,一切都以同样的方式工作,不工作的地方,第一次就被Google了。我不记得Windows的事件模型 是如何工作的。而且对编译器和设计者有很长时间的经验。 我需要将一个创建的表单连接到一个MT应用程序,并解决这个问题。你说这很容易。 Dmitry Fedoseev 2018.12.12 08:45 #592 Georgiy Merts:通过不展示它,而是相当清楚地描述其原则。这就是他们所反对的,这就是他们所说的:"道路是错误的"。 此外,"错 "的不是作者,而是那些反对者。他们有像鸡一样的大脑,不能记住他们在哪里创造了什么物体,在哪里和谁提到了它们,阵列中的每个单元意味着什么,它们可以从哪里被改变,在哪里不能被改变......。反对者感到愤慨是可以理解的。愚蠢的人没有训练他们的记忆力,使他们能够轻松地记住程序中的几千个对象和引用,而是削减自己的访问权限,定义一些区别,一些接口,一些多态函数......。他们自己折磨自己,就像在沙皇政权下一样,嗯......。 甩掉那些关于记忆的冷静的废话。有时会发现,这个论坛对话的主题没有追踪到两页的深度。此外,有太多的否认,记忆的作用如此美妙,正如他们试图告诉我们的那样。 Реter Konow 2018.12.12 08:47 #593 Dmitry Fedoseev:帮我解决一个问题。 我们需要将按下按钮和复选框的事件发送到MT5。我们需要以编程方式改变表单中的复选框或按钮的状态。如何做到这一点? Реter Konow 2018.12.12 08:53 #594 Windows表格就在那里。它启动并工作。按钮和复选框是可以点击的。 现在需要一个DLL来连接到MT5。谁知道如何做到这一点? Dmitry Fedoseev 2018.12.12 08:59 #595 Реter Konow:帮我解决一个问题。 我们需要将按下按钮和复选框的事件发送到MT5。我们需要以编程方式改变表单中的复选框或按钮的状态。如何做到这一点?2.昨天伊戈尔展示了一个例子。它显示了在Expert Advisor中你如何调用导入的dll中的一个类的方法。也就是说,你需要在c#中写一个改变复选框状态的函数(方法)。如何改变复选框的属性,我不记得方法的名称,很容易通过下拉列表导航,你必须输入复选框的名称,按下一个点... 1.我不知道。可能不会。你必须从定时器中调用一个dll函数,并查看复选框的状态。至于像按下按钮这样的事件,我建议做一个数组,把事件堆在里面。但这并不难,考虑到在视觉上使用控制的优势。 Dmitry Fedoseev 2018.12.12 09:00 #596 Реter Konow:安装了C#。打开了一个项目。制作了一个表单,并在其中添加了两个按钮和三个复选框。下面是编辑器中的代码。问题:为什么一个按钮有一个函数,第二个按钮和复选框的函数在哪里?发现这个代码。如何使用它来与MT5对接?你需要证明第二个按钮是需要的--在上面做双击,然后代码会打开,功能会被添加。如果随后将按钮从表单中删除,项目 编译时会出现错误,代码应该从某个文件中手动删除,但不是你写的那个。 Реter Konow 2018.12.12 09:09 #597 Dmitry Fedoseev:2.昨天,伊戈尔展示了一个例子。该例子显示了专家顾问如何调用导入的dll中的一个类的方法。也就是说,你需要用c#写一个函数(方法)来改变复选框的状态。如何改变复选框的属性,我不记得方法的名称,很容易通过下拉列表导航,你必须输入复选框的名称,按下一个点... 1.我不知道。可能不会。你必须从定时器中调用一个dll函数,观察复选框的状态。至于像按下按钮这样的事件,我们也许可以创建一个数组,并在其中存储事件。但考虑到视觉处理控制的优势,这并不难。好的。 因此,我们需要。 创建一个DLL。用表格将其与寡妇应用程序连接起来。编写方法来翻译在dll中按下按钮和检查框的事件。编写方法来改变寡妇应用程序中的按钮和复选框的状态。在dll中创建共享内存。这样,当从MT5访问时,按钮和复选框的状态变化标志被设置。然后,Windows应用程序访问共享内存,读取标志并使用它们来了解要改变的一个或另一个表格元素的状态。从MT5的定时器中写出对DLL的循环引用,用于读取函数调用的标志或将文本输入字段。如果有数百个元素呢? 如何组织共享内存? 如果不仅需要改变表单中元素的按下/释放状态,而且还需要改变它们的颜色(例如,按钮),该怎么办? 如果你需要从MT5中以编程方式改变表格中输入字段的文本,该怎么办? Igor Makanu 2018.12.12 09:14 #598 Dmitry Fedoseev:至于像按下按钮这样的事件,可能最好是做一个数组,将事件存储在其中。但这并不难,考虑到视觉工作与控制的优势。我曾经以更简单的方式来做这件事。 1.用户按下了表单上的按钮--事件处理程序OnClick()被点击,Button1.Disable被创建。 我喜欢在OnTick()中询问按钮的点击情况--在没有tick之前你不会做任何事情;你可以在计时器中设置一个大约300ms的中性值--用户不会注意到毛躁,MT5也不会慢下来。 但我的例子的重点是,MT5中的面板可视化现在可以通过2次点击实现,按钮处理程序在一个.dll中工作,部分界面脚本可以转移到一个表单中,同样的表格,数据处理。一切 最有价值的是节省了渲染开发的时间,在表单设计师 的帮助下,一切都在几个小时内完成;) Rehtag Konow: 在DLL中创建一个共享内存。因此,当从MT5访问时,按钮和复选框的状态变化标志将被设置。应用程序访问共享内存,读取标志并知道一个或另一个表格元素的状态应该被改变。 从MT5的定时器中写出对DLL的循环引用,用于读取函数调用的标志或将文本输入字段。如果有数百个元素呢? 如何组织共享内存?你又走错了方向,走出蓬头垢面的2000年代!....,尽管不知为何我认为2000年代对你来说不是极限))))。 没有冒犯的意思,我希望? Реter Konow 2018.12.12 09:20 #599 Igor Makanu:我曾经以更简单的方式来做这件事。 1.用户按下表单上的按钮--立即进入OnClick()处理程序,使Button1.Disable出现。 2.然后由MT5决定如何安排交换;我喜欢在OnTick()中询问按钮的点击情况--无论如何,在没有达到tick之前,你可以在定时器中设置一个大约300ms的中性值--用户不会注意到毛躁,MT5也不会放慢。 但我的例子的重点是,MT5中的面板可视化现在可以通过2次点击实现,按钮处理程序在一个.dll中工作,部分界面脚本可以转移到一个表单中,同样的表格,数据处理。一切 最好的部分是节省渲染的时间,有了表单设计器,一切都在几个小时内完成;) 你又走错了方向,走出蓬头垢面的2000年代!....,尽管我认为2000年代不是你的极限,))))。 我希望不会有什么不愉快?无意冒犯,但遗憾的是,它不在点上。 你在拿最接近的例子来推断,认为复杂性不会增加。这是个错误。 即使你举的最简单的例子也是错误的。因为除了创建表格,你还需要创建一个DLL。然后在DLL里面创建一个TOTAL内存。 随着表格元素数量的增加和MT5程序的功能变得更加复杂,这种互动变得非常繁忙和复杂。 我已经在实践中检验了这一切。 Dmitry Fedoseev 2018.12.12 09:24 #600 Реter Konow:好的。 所以有必要。 创建一个DLL。用一个表格将DLL连接到Windows应用程序。编写方法,将按下按钮和复选框的事件转换为dll。编写方法来改变寡妇应用程序中的按钮和复选框的状态。在dll中创建共享内存。这样,当从MT5访问时,按钮和复选框的状态变化标志被设置。然后,Windows应用程序访问共享内存,读取标志并使用它们来了解一个或另一个要改变的表格元素的状态。从MT5的定时器中写出对DLL的循环引用,用于读取函数调用的标志或将文本输入字段。如果有数百个元素呢? 如何组织共享内存? 如果不仅需要改变表单中元素的按下/释放状态,而且还需要改变它们的颜色(例如,按钮),该怎么办? 如果我们需要以编程方式从МТ5改变表单中的输入字段的文本,怎么办? 如果事件得到正确处理,那么控件的数量就不是问题。在dll中,我们可以创建一个数组或两个数组,一个用于对象名称,第二个用于事件类型。在dll中写一个有两个参数的函数,也是事件名称和类型。从每个所需的事件处理程序中,调用这个函数,使事件被放在数组中。另一种方法--从EA计时器中跟踪事件,因为方便,或者说,事实证明--同样的数组通过引用或什么,也是一个变量--数组中的事件数量。在调用该方法后,数组被清空。 或者,也许处理一个数组更容易;在c#中有一个对象事件,所以我可以把它们变成一个数组。另外,也许有可能以某种方式摆弄一下,不要从每个事件处理程序本身调用一个函数。但这并不重要;无论如何,与接口能力和c#的所有功能相比,这都是小事一桩。 1...535455565758596061626364656667...184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
...
但是,如果你知道Windows中的事件模型是如何工作的,并且有与编译器和表单设计器一起工作的经验,那么一切在哪里都是一样的。
ZS:这是我第三次看到Sharp,但我对Delphi有很好的经验,我完全看不出有什么不同,一切都以同样的方式工作,不工作的地方,第一次就被Google了。
我不记得Windows的事件模型 是如何工作的。而且对编译器和设计者有很长时间的经验。
我需要将一个创建的表单连接到一个MT应用程序,并解决这个问题。你说这很容易。
通过不展示它,而是相当清楚地描述其原则。这就是他们所反对的,这就是他们所说的:"道路是错误的"。
此外,"错 "的不是作者,而是那些反对者。他们有像鸡一样的大脑,不能记住他们在哪里创造了什么物体,在哪里和谁提到了它们,阵列中的每个单元意味着什么,它们可以从哪里被改变,在哪里不能被改变......。反对者感到愤慨是可以理解的。愚蠢的人没有训练他们的记忆力,使他们能够轻松地记住程序中的几千个对象和引用,而是削减自己的访问权限,定义一些区别,一些接口,一些多态函数......。他们自己折磨自己,就像在沙皇政权下一样,嗯......。
甩掉那些关于记忆的冷静的废话。有时会发现,这个论坛对话的主题没有追踪到两页的深度。此外,有太多的否认,记忆的作用如此美妙,正如他们试图告诉我们的那样。
帮我解决一个问题。
Windows表格就在那里。它启动并工作。按钮和复选框是可以点击的。
现在需要一个DLL来连接到MT5。谁知道如何做到这一点?
帮我解决一个问题。
2.昨天伊戈尔展示了一个例子。它显示了在Expert Advisor中你如何调用导入的dll中的一个类的方法。也就是说,你需要在c#中写一个改变复选框状态的函数(方法)。如何改变复选框的属性,我不记得方法的名称,很容易通过下拉列表导航,你必须输入复选框的名称,按下一个点...
1.我不知道。可能不会。你必须从定时器中调用一个dll函数,并查看复选框的状态。至于像按下按钮这样的事件,我建议做一个数组,把事件堆在里面。但这并不难,考虑到在视觉上使用控制的优势。
安装了C#。打开了一个项目。制作了一个表单,并在其中添加了两个按钮和三个复选框。
下面是编辑器中的代码。
问题:为什么一个按钮有一个函数,第二个按钮和复选框的函数在哪里?
发现这个代码。
如何使用它来与MT5对接?
你需要证明第二个按钮是需要的--在上面做双击,然后代码会打开,功能会被添加。如果随后将按钮从表单中删除,项目 编译时会出现错误,代码应该从某个文件中手动删除,但不是你写的那个。
2.昨天,伊戈尔展示了一个例子。该例子显示了专家顾问如何调用导入的dll中的一个类的方法。也就是说,你需要用c#写一个函数(方法)来改变复选框的状态。如何改变复选框的属性,我不记得方法的名称,很容易通过下拉列表导航,你必须输入复选框的名称,按下一个点...
1.我不知道。可能不会。你必须从定时器中调用一个dll函数,观察复选框的状态。至于像按下按钮这样的事件,我们也许可以创建一个数组,并在其中存储事件。但考虑到视觉处理控制的优势,这并不难。
好的。
因此,我们需要。
如果有数百个元素呢?
如何组织共享内存?
如果不仅需要改变表单中元素的按下/释放状态,而且还需要改变它们的颜色(例如,按钮),该怎么办?
如果你需要从MT5中以编程方式改变表格中输入字段的文本,该怎么办?
至于像按下按钮这样的事件,可能最好是做一个数组,将事件存储在其中。但这并不难,考虑到视觉工作与控制的优势。
我曾经以更简单的方式来做这件事。
1.用户按下了表单上的按钮--事件处理程序OnClick()被点击,Button1.Disable被创建。
我喜欢在OnTick()中询问按钮的点击情况--在没有tick之前你不会做任何事情;你可以在计时器中设置一个大约300ms的中性值--用户不会注意到毛躁,MT5也不会慢下来。
但我的例子的重点是,MT5中的面板可视化现在可以通过2次点击实现,按钮处理程序在一个.dll中工作,部分界面脚本可以转移到一个表单中,同样的表格,数据处理。一切
最有价值的是节省了渲染开发的时间,在表单设计师 的帮助下,一切都在几个小时内完成;)
Rehtag Konow:
在DLL中创建一个共享内存。因此,当从MT5访问时,按钮和复选框的状态变化标志将被设置。应用程序访问共享内存,读取标志并知道一个或另一个表格元素的状态应该被改变。
从MT5的定时器中写出对DLL的循环引用,用于读取函数调用的标志或将文本输入字段。
如果有数百个元素呢?
如何组织共享内存?
你又走错了方向,走出蓬头垢面的2000年代!....,尽管不知为何我认为2000年代对你来说不是极限))))。
没有冒犯的意思,我希望?
我曾经以更简单的方式来做这件事。
1.用户按下表单上的按钮--立即进入OnClick()处理程序,使Button1.Disable出现。
2.然后由MT5决定如何安排交换;我喜欢在OnTick()中询问按钮的点击情况--无论如何,在没有达到tick之前,你可以在定时器中设置一个大约300ms的中性值--用户不会注意到毛躁,MT5也不会放慢。
但我的例子的重点是,MT5中的面板可视化现在可以通过2次点击实现,按钮处理程序在一个.dll中工作,部分界面脚本可以转移到一个表单中,同样的表格,数据处理。一切
最好的部分是节省渲染的时间,有了表单设计器,一切都在几个小时内完成;)
你又走错了方向,走出蓬头垢面的2000年代!....,尽管我认为2000年代不是你的极限,))))。
我希望不会有什么不愉快?
无意冒犯,但遗憾的是,它不在点上。
你在拿最接近的例子来推断,认为复杂性不会增加。这是个错误。
即使你举的最简单的例子也是错误的。因为除了创建表格,你还需要创建一个DLL。然后在DLL里面创建一个TOTAL内存。
随着表格元素数量的增加和MT5程序的功能变得更加复杂,这种互动变得非常繁忙和复杂。
我已经在实践中检验了这一切。
好的。
所以有必要。
如果有数百个元素呢?
如何组织共享内存?
如果不仅需要改变表单中元素的按下/释放状态,而且还需要改变它们的颜色(例如,按钮),该怎么办?
如果我们需要以编程方式从МТ5改变表单中的输入字段的文本,怎么办?
如果事件得到正确处理,那么控件的数量就不是问题。在dll中,我们可以创建一个数组或两个数组,一个用于对象名称,第二个用于事件类型。在dll中写一个有两个参数的函数,也是事件名称和类型。从每个所需的事件处理程序中,调用这个函数,使事件被放在数组中。另一种方法--从EA计时器中跟踪事件,因为方便,或者说,事实证明--同样的数组通过引用或什么,也是一个变量--数组中的事件数量。在调用该方法后,数组被清空。
或者,也许处理一个数组更容易;在c#中有一个对象事件,所以我可以把它们变成一个数组。另外,也许有可能以某种方式摆弄一下,不要从每个事件处理程序本身调用一个函数。但这并不重要;无论如何,与接口能力和c#的所有功能相比,这都是小事一桩。