techie wrote:Я ещё не настолько сектант, чтобы лазить на специальный сайт для того, чтобы сгенерить случайное число, уникальное в пределах всей экосистемы фара с вероятностью > 99.99999%
ФАР уже сто лет в обед умеет сам генерировать гуиды. И в этой теме это уже было.
Не буду спорить или доказывать, так как вопрос не выглядит слишком важным или принципиальным.
мне, лично, длинный непонятный номер хоть и нарушает чувство прекрасного, но можно и мирится с этим.
Прочитал все что нашел касательно нужности назначения ГУИДов, так и не понял нужности.
Возможно потому что кругозора не хватает, но тем не менее.
Мне кажется что бОльший смысл имеет автогенерация ГУИДов.
Например:
Для плагинов - берется имя плагина+версия, на них автоматом делается MD5, назначается ГУИДом.
Для диалогов (и меню) берется menu_props + menu_items на них автоматом делается MD5, назначается ГУИДом.
Для пущей красоты в базу для МД5 можно добавлять:
* имя (и путь?) файла (плагина, скрипта) вызвавшего Меню
* то же самое только уже ГУИД плагина/скрипта.
Таким образом ГУИД может начать иметь смысл, как "отпечаток пальцев" для верификации, а не просто какой-то номер с потолка..
PS
вышесказанное не означает что что я против ручного назначения ГУИДов (как сейчас),
это тоже имеет смысл в некоторых понятных и мне сценариях
Last edited by citRiks on Sun 06 Sep, 2020 21:39, edited 1 time in total.
citRiks, Вы, видимо, не поняли смысл ГУИДа. Главное: он (а) уникален и (б) постоянен для некоего плагина. Т.е. не должен зависеть ни от версии, ни от пути к ДЛЛ (как отпечатки пальцев не зависят от возраста и адреса). Именно для идентификации плагина.
Технология генерации ГУИДа такова, что уникальность обеспечивается (во всяком случае, это декларируется авторами). В т.ч. некоторые параметры компа (MAC-адрес)., а также дата-время. Поэтому, якобы он практически уникален.
В то же время генерировать его, как Вы предлагаете, сделает его непостоянным, а значит, использовать для идентификации (как вы сравнили с отпечатками пальцев) станет невозможно.
----
Нет, автор плагина (ну, или сертифицированный распространитель) должен сам сгенерировать ГУИД и присвоить его плагину навсегда.
Сорри, Вы поняли (я не дочитал Ваше сообщение до конца), но сделали странные выводы
Last edited by buniak_a_h on Sun 06 Sep, 2020 21:59, edited 2 times in total.
citRiks wrote: ↑Sun 06 Sep, 2020 21:27Для плагинов - берется имя плагина+версия, на них автоматом делается MD5, назначается ГУИДом.
т.е. вы предлагаете вместо банального Plugin.SyncCall('9860393A-918D-450F-A3EA-84186F21B0A2',…) держать список уидов для всех возможных версий и битностей, при помощи far.FindPlugin каждый раз искать, а какая версия плагина есть, и уже только потом вызывать Plugin.SyncCall. а при выходе новой версии плагина обязательно обновлять макрос. я вас правильно понимаю?
Last edited by zg on Sun 06 Sep, 2020 22:14, edited 2 times in total.
citRiks wrote: ↑Sun 06 Sep, 2020 21:27Для плагинов - берется имя плагина+версия, на них автоматом делается MD5, назначается ГУИДом.
т.е. вы предлагаете вместо банального Plugin.SyncCall('9860393A-918D-450F-A3EA-84186F21B0A2',…) держать список уидов для всех возможных версий и битностей, при помощи far.FindPlugin каждый раз искать, а какая версия плагина есть, и уже только потом вызывать Plugin.SyncCall. а при выходе новой версии плагина обязательно обновлять макрос. я вас правильно понимаю?