Гуиды анси-плагинов

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Гуиды анси-плагинов

Post by Smitis »

Это нормально, что для ansi плагинов guid-ы генерируются вида 00000000-0000-0000-4368-617261637465 (т.е. в начале всегда нули), причём гуид не меняется после /clearcache? Раньше случайным образом генерировались.

П.С. Это, типа, имя плагина в хексе?
Разум когда-нибудь победит.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

У меня такого нет.

Гуиды постоянными должны стать у FTP и Multiarc, но это только если свежие с плагринга поставить.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by t-rex »

Smitis wrote:Это нормально, что для ansi плагинов guid-ы генерируются вида 00000000-0000-0000-4368-617261637465 (т.е. в начале всегда нули), причём гуид не меняется после /clearcache? Раньше случайным образом генерировались.

П.С. Это, типа, имя плагина в хексе?
Да, это было недавно сделано.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

Действительно, после чистки кэша так и есть, а до этого гуиды тоже были постоянными, но брались из кэша, без нулей
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by 2useven10 »

для анси плагинов теперь можно задать 'правильный' гуид в ресурсах - versioninfo PluginGUID (это сделано для multiarc и farftp). в противном случае: {8x00, первые 8 байт имени плагина} (тоже из versioninfo - InternalName/OriginalName).
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

При таком подходе вероятны накладки
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

  1. Info->Title = PointToName(module);
  2.  
  3.  
  4.  
  5. int nb = std::min((int)wcslen(Info->Title), 8);
  6.  
  7. while (nb > 0) {
  8.  
  9.     --nb;
  10.  
  11.     ((char *)&Info->Guid)[8+nb] = (char)Info->Title[nb];
  12.  
  13. }
Эээ, т. е. для двух разных ansi-плагинов %farhome%\plugins\project1\plugin.dll и %farhome%\plugins\project2\plugin.dll, не содержащих versioninfo, эта магия даст одинаковый UID, я правильно понимаю?
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by 2useven10 »

да. а есть такие плагины? в смысле используются в тройке?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

Ну никто не мешает их написать, т. к. у нас нигде в первописании не указано, что dll обязана иметь уникальное имя и/или versioninfo.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by t-rex »

Ну я потому оригинально предлогал хэш полного пути. Но в реальности вряд ли будут два одинаковых длл для анси плагина.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by DrKnS »

Полный путь у всех разный, т. е. это те же яйца, что и UuidCreate, только сбоку.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

Время компиляции вроде уникально?
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by 2useven10 »

Конфликты для анси плагинов возможны. Но их можно разрешить даже простым переименованием длл.
Имхо этого достаточно и биться здесь за обеспечение полной уникальности и однозначности совершенно нет смысла.
При желании можно даже без сорсов добавить-пропатчить versioninfo прямо в длл.
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by 2useven10 »

Время компиляции вроде уникально?
во первых нет. во вторых при перекомпиляции гуид уедет.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

Вообще-то при перекомпиляции можно и гуид добавить.
Да и речь в основном о неподдерживаемых древних плагинах.
Переименовать dll это конечно выход, но это компрометирует саму суть гуидов
Post Reply

Return to “Обсуждение Far Manager”