MISSING:

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

MISSING:

Сообщение Dzhon » 13.08.2004 (Пт) 7:32

Добрый день!
Объясните непросвещенному почему при вставке в ActivexDLL кода:
Код: Выделить всё
On Error GoTo errH:

errH:
Обработка ошибки


в использующем проекте (данной ActivexDLL) в References
перед именем ActivexDLL появляется MISSING:

Что это такое и где можно почитать по этому поводу?!

Заранее спасибо!

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 13.08.2004 (Пт) 7:46

Странная проблема. А ты не пробовал вручную указать файл с этой dll-кой. Такая проблема обычно возникает после перекомпиляции. Ты в References после перекомпиляции укажи файл. Должно помоч. А On Error GoTo ИМХО не должен давать такого эффекта.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Re: MISSING:

Сообщение Cyrax » 13.08.2004 (Пт) 7:49

Dzhon писал(а):
Код: Выделить всё
On Error GoTo errH:

errH:
Обработка ошибки



объясняем... внимательно на код посмотри, и ты увидиш, что оператор GoTo использует не правильную метку - ну не должно там двоеточие стоят, после имени метки. а вот там, где описывается сама метка, двоеточие ставить надо.
а слово MISSING!: в окне References говорит лиш о том, что данный компонент не зарегистрирован, или зарегистрирован не корректно
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: MISSING:

Сообщение tyomitch » 13.08.2004 (Пт) 9:01

Cyrax писал(а):
Dzhon писал(а):
Код: Выделить всё
On Error GoTo errH:

errH:
Обработка ошибки



объясняем... внимательно на код посмотри, и ты увидиш, что оператор GoTo использует не правильную метку - ну не должно там двоеточие стоят, после имени метки. а вот там, где описывается сама метка, двоеточие ставить надо.
а слово MISSING!: в окне References говорит лиш о том, что данный компонент не зарегистрирован, или зарегистрирован не корректно

Дело не в этом. "On Error GoTo errH:" - совершенно правильная строка из двух операторов, первый - "On Error GoTo errH", второй - пустой. На неправильную метку VB бы пожаловался, так что ошибки здесь нет.
А вот сабж с обработчиком ошибок никак не связан. Скорее всего, у Dzhon в Project -> Properties -> Component -> Version Compatibility стоит No Compatibility.

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 13.08.2004 (Пт) 11:12

Спасибо ТЁМЫЧ!
Действительно было No Compatibility, правда отсюда еще вопрос:
Что это за Совместимость и как это физически отражается на проекте!?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.08.2004 (Пт) 11:18

Каждый COM-объект имеет уникальный идентификатор, называемый GUID. При изменении интерфейса COM-объекта ему создаётся новый GUID. VB IDE занимается этим сама и тебя не спрашивает. Совместимость - это чтобы когда ты меняешь интерфейс в сторону добавления новых методов, все старые методы будут помещены в те же самые места vTable, что и раньше, в результате чего все проги, скомпилированные для работы со старой версией интерфейса, смогут работать и с новой. Если же ты меняешь описание интерфейса (описание методов, а не их код), то совместимость всегда нарушается.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 13.08.2004 (Пт) 11:39

Большое СПАСИБО GSerg!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.08.2004 (Пт) 12:13

GSerg писал(а):Каждый COM-объект имеет уникальный идентификатор, называемый GUID. При изменении интерфейса COM-объекта ему создаётся новый GUID. VB IDE занимается этим сама и тебя не спрашивает. Совместимость - это чтобы когда ты меняешь интерфейс в сторону добавления новых методов, все старые методы будут помещены в те же самые места vTable, что и раньше, в результате чего все проги, скомпилированные для работы со старой версией интерфейса, смогут работать и с новой. Если же ты меняешь описание интерфейса (описание методов, а не их код), то совместимость всегда нарушается.

Я добавлю, можно?
У библиотеки в целом есть LibID, и у каждого публичного компонента - свой ClsID и (один или больше) IID. В режиме No Compatibility все они генерируются случайно при каждой компиляции, в режиме Project Compatibility сохраняется LibID и заново генерируются ClsID-ы и IID-ы, в режиме Binary Compatibility - сохраняются LibID, ClsID-ы, старые IID-ы, и вдобавок создаются новые IID-ы, если это нужно.

И ещё, про "уникальный идентификатор, называемый GUID". GUID - это "физический" тип, как DWORD или SHORT, а CLSID/IID - "семантический", как HWND или BSTR. Т.е. утверждение в общем верно, но так же неинформативно, как "Каждое окно имеет уникальный идентификатор, называемый DWORD".

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 16.08.2004 (Пн) 5:45

Спасибо Тёмыч!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 1

    TopList