version compatibility
От: sergey2b ЮАР  
Дата: 14.07.11 22:26
Оценка:
подскажите пожалуйста как решить такую проблему
у меня имееться ActiveX который компилируеться binary compatibility
мне пришлось изменить API (добавить параметр в один из методов)
binary compatibility сломалось

я переключился в no compatibility откомпилировал activex и восстановил binary compatibility
теперь все проекты которые используют этот activex не компилируються так как изменился GUID activex-а

подскажите пожалуйста возможно ли как либо изменить API activex и сохранить binary compatibility
Re: version compatibility
От: baranovda Российская Империя  
Дата: 15.07.11 09:11
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>подскажите пожалуйста как решить такую проблему


Если binary compatibility порушена, а старых исходников не осталось — то никак.
Во избежание проблем в будущем:
1) Переписать ActiveX на чем угодно, кроме VB6.
2) Или не использовать раннее связывание для межмодульного взаимодействия
3) Можно ещё попытаться вынести определения интерфейсов во внешнюю IDL/TLB, таким образом добившись неизменяемости гуидов, но в этом воркэраунде тоже граблей полно (каких конкретно — не припомню за давностью лет)
Re[2]: version compatibility
От: sergey2b ЮАР  
Дата: 15.07.11 10:36
Оценка:
Здравствуйте, baranovda, Вы писали:

S>>подскажите пожалуйста как решить такую проблему


B>Если binary compatibility порушена, а старых исходников не осталось — то никак.

старые версии activex есть, исходники есть

подскажите пожалуйста как мне действовать если мне надо добавить новый параметр в одной из функций activex
если я нарушаю binary compatibility примерно для 30 проектов причем есть циклические связи между проектами
вообщем очень желательно сохранить binary compatibility

переписать пока не вариант тк только у меня 20mb исходников на VB a их на самом деле больше
Re[3]: version compatibility
От: baranovda Российская Империя  
Дата: 15.07.11 11:32
Оценка: 2 (1)
Здравствуйте, sergey2b, Вы писали:

S>переписать пока не вариант тк только у меня 20mb исходников на VB a их на самом деле больше


Тяжелый клинический случай, даже не знаю, как и помочь )
Разве что откатиться, почистить реестр, потестировать изменения в режиме Project compatibility, затем подключить старые сборки и попробовать переключится в Binary...
Re: version compatibility
От: sergey2b ЮАР  
Дата: 16.07.11 07:32
Оценка:
Здравствуйте, sergey2b, Вы писали:

отвечаю на свой вопрос
binary compatibility ненарушеться при добавлении новой функции поэтому можно добавить новую функцию с нужным прототипом но сохранить старую функцию для binary compatibility
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.