Dispatch или Unknown?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 10.02.2005 (Чт) 17:53

Не спорьте: вы оба правы, потому что говорите о разных TLB.

Изначально ANDLL говорил именно о своих интерфейсах и о TLB, описывающих эти интферейсы.

Действительно, единственное трудное место - это регистрация этой TLB для маршаллинга. Опять же эти трудности были озвучены впоследствии приведением описания функции RegisterTypeLib, которая не регистрирует интерфейсы, не имеющие бита oleautomation.

Я не стал отвечать на замечание о нужности/ненужности oleautomation вообще, т.к. посчитал, что оно не относится к теме вопроса, потому что затрагивает чужие интерфейсы. Т.е. те, которые уже разработаны и уже опубликованы, но по каким-то причинам их нужно скормить VB. ИМХО, это плохая практика - описывать чужие интерфейсы или включать их в свою TLB.

А на вопрос "Зачем нужна регистрация tlb?" нужно поменять порядок ответов:

1. Для маршалинга собственных интерфейсов сервера. Сюда входит наличие и регистрация TLB на клиентской машине вместо самого сервера.
2. Для компиляции кода клиентов.

TLB, помимо информации о всех определяемых сервером типах, содержит ссылки на другие TLB, типы которого используются внутри сервера. Причем она ссылается на них только через LIBID и короткое имя (чтобы иметь возможность сообщить о невозможности доступа к ней по LIBID или найти с помощью файловой системы).

Очевидно, что использование TLB с незарегистрованными родительскими TLB затруднено, если не невозможно.

HTH
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 11.02.2005 (Пт) 14:09

P.S. наверное для полного подведения итогов по tlb
стоит еще раз посмотреть на эту статью из MSDN

http://bbs.vbstreets.ru/viewtopic.php?t=12253
//<-
Mit freundlichen Grüßen
//->

Пред.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 154

    TopList