|
|
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Я обновляю версию своей DLL , которая располагается в локальной сети предприятия для общего ипользования и я вынужден регистрировать ее на всех локальных раб местах, где стоят мои Vb приложения , ее использующие. Как я понимаю , это необходимо из-за того, что новая версия DLL получает новый GUID , который еще не зарегестрирован на компах сети.Если бы было можно при создании новой версии DLL отставлять старый GUID, эта проблема была бы решена. В связи с этим возникают вопросы : 1) Можно при создании DLL на Vb задать свой GUID ? 2) Как вообще формируется эта последовательность - почему она не пересекается с другой такой-же? Например при создании моей DLL Vb придумал каки-то образом GUID {320DFAEB-0131-4210-9BAA-911DAB93ABEE}, и что же я могу быть уверен, что такой нет во всем мире? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 10:43 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Binary Compatibility поставь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 10:55 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Так говорит, что : Unable to set the version compatible component: '...моя DLL' и что же делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 11:34 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Надо не "моя DLL", а "копия моей DLL в другом месте" И не менять эту копию никогда (типа эталонной для VB будет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 11:37 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
не понял ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 11:50 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
т.е. '...моя DLL' это путь 'c:\MyApp\DLL\NyVb.dll' правда прежде я создавал версии этой DLL и в других путях на этом компе и в сетевых путях тоже . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 11:54 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
> и что же я могу быть уверен, что такой нет во всем мире? типа да - можно быть уверенным. Правда ходят слухи, что при создании ГУИДа используеться множество составляющих, одна из которых MAC адрес сетевой платы (который так же уникален в мире, если, не одно "НО": если карточка не эмулируется программно (или типа того) - тогда возможно (но маловероятно) совпадение ГУИДов. Так же на форуме по сиквелу, как-то было сообщение одного чела, что у него ГУИД (формируемый функцией NewID) совпадал с ранее существующими - правда ему не поверили, воспроизвести ситуацию он не смог Но я бы на твоем месте не заморачивался - если и совпадет, то с ГУИДом какой-нить dll китайского студента-программиста Теория вероятности, млин :) == А если хошь - проверь: создай таблицу (лучше на сиквеле) - впихни в нее пару-тройку миллиардов гуидов - и отлавливай ошибку уникальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 11:56 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
2 yuniki не понял ... Чего ты не понял? Как копию файла сделать? Ctrl-C - Ctrl-V 2 Сенин Виктор Вот именно из-за MAC-адресов накладки и могут быть. Поддержка уникальности денех стоит, а Дядя Ляо денех жмет. Да и вообще сетевухи может и не быть. Уже не помню что вместо нее тогда используется. Но вероятность повторения действительно небольшая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 12:42 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
>Поддержка уникальности денех стоит Я тут по мотивам прочитанной давеча книжки "Разработка защищенных приложений в VB" выложу (если не забуду и если кому-то будет интересно) функцию CryptoAPI, формирующая случайнное число (буквы) совсем по другому алгоритму (типа, более надежному), чем Rnd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 12:52 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
2 Лох Позорный > Чего ты не понял? Как копию файла сделать? Ctrl-C - Ctrl-V Нет , все-таки, объяснить можно , что имеется ввиду (мне кажется , что никто не понял)? Зачем делать какую-то копию? Ну скомпилю я ее в другое место и что ? Я же говорю - не ставится в Project Properties binary compatibility ; а сообщения я вообще не понимаю 'Unable to set the version compatible component:' - невозможно установить компонент с версионной совместимостью Что это значит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 13:12 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Ну скомпилю я ее в другое место и что ? И ВСЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 13:17 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
2 Лох Позорный > Все Ok. Дело в том , что в окошке для имени файла в выше упомянутом Binary Compatibility стояло имя отсутствующего файла, а на это окошко я и вообще как-то не смотрел - быват ;). Спасибо за намеки ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 13:52 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Вообще-то я думал что ты пытаешься установить совместимость библиотеки с самой собой Ну да ладно, все хорошо что хорошо кончается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 13:55 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
ну уж и вдогонку - не могу усечь , чем binary от project compatibility отличается ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 13:56 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
В случае binary - проверяется точное совпадение всех инnерфесов всех классов двух dll-ек В случае project - то, что есть в одной (та, совместимость с которой проверяется), обязано присутствовать в другой (совместимость которой проверяется), обратное неверно (т.е. может быть добавлено еще что-то, класс какой-нибудь или дополнительный интерфейс например) На пальцах примерно так (вроде бы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 14:08 |
|
||
|
GUID и контроль над ним
|
|||
|---|---|---|---|
|
#18+
Спасибо за разъяснения, Кстати, насчет,'Вообще-то я думал что ты пытаешься установить совместимость библиотеки с самой собой' - Это тоже нормально работает, Видимо, перед компиляцией вначале проверяется исходный DLL файл на на диске, затем он заменяется обновленным, с таким же GUID. Т.е. получается - не нужна никакая эталонная копия. Проверено после перекомпиляции по приложениям пользователей ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2003, 14:58 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32354850&tid=1677614]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 308ms |

| 0 / 0 |
