Любые вопросы от ПРОФИ к СУПЕРПРОФИ - 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:
Что значит - вешает?
Зависает. Интерфейс МТ4 не реагирует ни на что и не обновляется. Процесс останавливается.
 
Интересно,- что происходило в эту секунду.
 
abolk:

каждый новичок видит в себе будущего профи и суперпрофи.
идея с новой веткой, как мне кажется, себя не оправдала

Не разделяю пессимизма. Задача стояла выделить ветку для вопросов выше определенного уровня, этого достаточно на первых порах. А дальше вскрытие покажет. Возможно, превратится в открытый для чтения всеми клуб для "опытных стариков", это тоже неплохой вариант. Утопить ее может только парад амбиций и несдержанность в дискуссиях.
 
Zhunko:
Зависает. Интерфейс МТ4 не реагирует ни на что и не обновляется. Процесс останавливается.

Дедлок по симптомам. Видимо при запуске из удаленного процесса терминал не успевает выполнить какую-то процедуру. Возможно скрипт запускается не из того потока.

Как вариант вместо слипа запустить событие тика -- т.е. сделать эмуляцию асинхронного запуска скрипта, должно помочь.

 

Задача: требуется однозначно идентифицировать экземпляр класса по его уникальному ID, желательно по типу long. Уникальный 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, желательно по типу long. Уникальный ID должен формироваться учитывая уникальность значений переменных входящих в класс.

Пример:

Совпадения результатов GetID будут только в том случае, если все значения параметров будут абсолютно равны.

GetID - динамический?

точнее - ID класса кто создает?

Причина обращения: