Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2449

 
Dz Mak #:
А файл в папке мы просто так делаем?Туда суём параметры машины и сравниваем

Так вот они одинаковы, в случае клона.

P.S. Если не клон, то проблем вообще никаких и без файла
 
Vitaly Muzichenko #:

Так вот они одинаковы, в случае клона.

P.S. Если не клон, то проблем вообще никаких и без файла
Приведи пример под словом клон,отличия всегда будут .Не знаю зачем это всё вообще нужно,но в реализации это особых проблем не составит
 
Dz Mak #:
Приведи пример под словом клон,отличия всегда будут

Останавливаем виртуалку, копируем её "диск", из этой копии создаём другую виртуалку.

Отличаться будет MAC, но вот даже IP уже далеко не всегда.
 
JRandomTrader #:

Останавливаем виртуалку, копируем её "диск", из этой копии создаём другую виртуалку.

Отличаться будет MAC, но вот даже IP уже далеко не всегда.

Вот. Тогда вопрос: Как программно получить MAC, и по нему делать идентификацию?

Спасибо!

 
Что-то вы усложнили
 
Aleksei Stepanenko #:
Что-то вы усложнили

но это есть на практике.

 
У меня в таких случаях получается, что тратишь много времени для описания всех вариантов, которые могут случиться, а потом оказывается, что эта идея в принципе не нужна ни мне, ни кому. Но, возможно, у Вас не так
 
Vitaly Muzichenko #:

но это есть на практике.

весь вопрос в уникальной идентификации объекта (терминала в данном случае)

при запуске терминала - проверить есть ли файл GUID.txt в каталоге FILES, если его нет то сгенерить новый GUID(*) и записать в файл, иначе прочесть из файла.
Гонки за файл только аккуратно реализовать надо, с файловыми блокировками и перепроверками

дальше с этим GUID уже лезть в каталог COMMON к файлу $LockAccountNumber.txt или к внешнему ресурсу

Прим.: Генерацию GUID сделать средствами WinAPI, крипто-библиотек или намонстрячить самому. Помниться были предложения, внести GenerateGUID (и родственные) в API терминала. 

 
Maxim Kuznetsov #:

весь вопрос в уникальной идентификации объекта (терминала в данном случае)

при запуске терминала - проверить есть ли файл GUID.txt в каталоге FILES, если его нет то сгенерить новый GUID(*) и записать в файл, иначе прочесть из файла.
Гонки за файл только аккуратно реализовать надо, с файловыми блокировками и перепроверками

дальше с этим GUID уже лезть в каталог COMMON к файлу $LockAccountNumber.txt или к внешнему ресурсу

Прим.: Генерацию GUID сделать средствами WinAPI, крипто-библиотек или намонстрячить самому. Помниться были предложения, внести GenerateGUID (и родственные) в API терминала. 

Это сделано, но так-же не работает при клоне.

 
Vitaly Muzichenko #:

Это сделано, но так-же не работает при клоне.

если файл GUID.txt тоже клонировать, то и не будет :-) Значит ещё надо как-то(по дате создания, с чем-то сравнивать, старше каталога Files например) проверять что он клонирован и нужен новый

для не-portable запуска проще, можно использовать часть путевого имени (кусок от TerminalInfoString(TERMINAL_DATA_PATH)) ту самую длинную бесячую цифирь, оно в Roaming и это глобально-уникальный идентификатор вроде как

а для /portable придётся конечно извращаться.