从专业人员到超级专业人员的任何问题 - 1。 - 页 5

 
abolk:


每个新人都把自己看作是未来的职业选手和超级职业选手。

在我看来,建立一个新的分支的想法并没有证明自己是正确的。

在非洲,一个初学者就是一个初学者。

而在这里:每一个提出问题的人都是自我定义的专家,每一个回答问题的人都是超级专家,而每一个福禄寿的人(比如我)都是洪荒之力。

 
tara:

初学者毕竟是初学者。

而在这里:每一个提出问题的人都是自我定义的专家,每一个回答问题的人都是超级的,而每一个人都是侥幸的人(比如我)。

回答我的问题会更好吗?有没有人从远程进程中管理一个终端?
 
Zhunko:
回答我的问题会更好吗?有人从远程进程中管理终端吗?
我没有,但我认为问题出在限制/分配访问权方面
 

为什么从远程进程加载时,两个脚本的工作方式不同?

#include <ServicesMT4.mqh>
void start()
 {
  Sleep(1000);
  ServiceInit(NULL);
  Comment("Библиотека \"ServicesMT4.dll\" инициализирована.");
  Sleep(7200000);
 }
#include <ServicesMT4.mqh>
void start()
 {
  ServiceInit(NULL);
  Comment("Библиотека \"ServicesMT4.dll\" инициализирована.");
  Sleep(7200000);
 }
前者工作正常,后者挂断了终端。
 
tara:
你是什么意思,挂断了?
它挂了。MT4的界面对任何事情都没有反应,也不更新。该过程停止。
 
我想知道在那一秒发生了什么。
 
abolk:

每个新人都把自己看作是未来的职业选手和超级选手。
在我看来,建立一个新的分支的想法并没有证明自己是正确的。

我不同意这种悲观主义。目的是为超过一定水平的问题分开一个分支,在开始时就足够了。在那之后,验尸报告会显示。也许它将成为一个开放给所有人阅读的 "经验丰富的老前辈 "的俱乐部,这也是一个不错的选择。只有在讨论中的野心和无节制的游行才能使它沉沦。
 
Zhunko:
它挂了。MT4界面对任何事情都没有反应,也不更新。过程停止。

根据症状,出现死锁。显然,当从一个 远程进程 启动时,终端 没有时间执行一些程序。也许脚本是从错误的线程中运行的。

另外,代替滑块运行一个tick事件--即做一个异步的脚本模拟,应该会有帮助。

 

问题: 你需要通过唯一的ID来唯一地识别一个类的实例,最好是长类型的。唯一的ID应该考虑到包含在类中的变量值的唯一性。

例子。

class sample{
   double param1;
   int    param2;
   int    param3;
   string info;
   ...
   long GetId();
}

sample A;
sample B;

A.param1=1.2394;
A.param2=35;
A.param3=2;
A.info="A sample";

B.param1=1.234;
B.param2=2;
B.param3=35;
B.info="B sample";

// Например должен показать тип (long)1283047539
Print(A.GetID);

// Например должен показать тип (long)3948201837
Print(B.GetID);

只有当所有参数值绝对相等时,GetID的结果才会匹配。

GetID应该透明地与任何数量的参数和它们的类型一起工作。如果它的实现是在基类层面,那也是很好的(虽然不太可能)。

 
C-4:

问题: 你需要通过唯一的ID来唯一地识别一个类的实例,最好是长类型的。唯一的ID应该考虑到包含在类中的变量值的唯一性。

例子。

只有当所有参数值绝对相等时,GetID的结果才会匹配。

GetID是动态的吗?

更确切地说,是谁创造了班级ID?