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

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

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

Post by Smitis »

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

П.С. Это, типа, имя плагина в хексе?
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 12716
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 279 times

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

Post by John Doe »

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

Гуиды постоянными должны стать у FTP и Multiarc, но это только если свежие с плагринга поставить.

User avatar
t-rex
Страшный и ужасный
Posts: 4906
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

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

Post by t-rex »

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

П.С. Это, типа, имя плагина в хексе?
Да, это было недавно сделано.

User avatar
John Doe
Бюрократ
Posts: 12716
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 279 times

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

Post by John Doe »

Действительно, после чистки кэша так и есть, а до этого гуиды тоже были постоянными, но брались из кэша, без нулей

2useven10
Posts: 4024
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 181 times

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

Post by 2useven10 »

для анси плагинов теперь можно задать 'правильный' гуид в ресурсах - versioninfo PluginGUID (это сделано для multiarc и farftp). в противном случае: {8x00, первые 8 байт имени плагина} (тоже из versioninfo - InternalName/OriginalName).

User avatar
John Doe
Бюрократ
Posts: 12716
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 279 times

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

Post by John Doe »

При таком подходе вероятны накладки

User avatar
DrKnS
Posts: 5566
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 7 times
Been thanked: 289 times

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

Post by DrKnS »

  1. Info->Title = PointToName(module);
  2.  
  3. int nb = std::min((int)wcslen(Info->Title), 8);
  4. while (nb > 0) {
  5.     --nb;
  6.     ((char *)&Info->Guid)[8+nb] = (char)Info->Title[nb];
  7. }
Эээ, т. е. для двух разных ansi-плагинов %farhome%\plugins\project1\plugin.dll и %farhome%\plugins\project2\plugin.dll, не содержащих versioninfo, эта магия даст одинаковый UID, я правильно понимаю?

2useven10
Posts: 4024
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 181 times

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

Post by 2useven10 »

да. а есть такие плагины? в смысле используются в тройке?

User avatar
DrKnS
Posts: 5566
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 7 times
Been thanked: 289 times

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

Post by DrKnS »

Ну никто не мешает их написать, т. к. у нас нигде в первописании не указано, что dll обязана иметь уникальное имя и/или versioninfo.

User avatar
t-rex
Страшный и ужасный
Posts: 4906
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

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

Post by t-rex »

Ну я потому оригинально предлогал хэш полного пути. Но в реальности вряд ли будут два одинаковых длл для анси плагина.

User avatar
DrKnS
Posts: 5566
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 7 times
Been thanked: 289 times

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

Post by DrKnS »

Полный путь у всех разный, т. е. это те же яйца, что и UuidCreate, только сбоку.

User avatar
John Doe
Бюрократ
Posts: 12716
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 279 times

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

Post by John Doe »

Время компиляции вроде уникально?

2useven10
Posts: 4024
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 181 times

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

Post by 2useven10 »

Конфликты для анси плагинов возможны. Но их можно разрешить даже простым переименованием длл.
Имхо этого достаточно и биться здесь за обеспечение полной уникальности и однозначности совершенно нет смысла.
При желании можно даже без сорсов добавить-пропатчить versioninfo прямо в длл.

2useven10
Posts: 4024
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 181 times

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

Post by 2useven10 »

Время компиляции вроде уникально?
во первых нет. во вторых при перекомпиляции гуид уедет.

User avatar
John Doe
Бюрократ
Posts: 12716
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 279 times

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

Post by John Doe »

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

Post Reply

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