В чем у нас разница между ocx и dll файлами?

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

В чем у нас разница между ocx и dll файлами?

Сообщение ANDLL » 16.10.2006 (Пн) 17:17

Почему файлы с контролами решили обозвать одним разширением, а файлы без контролов - другими?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 16.10.2006 (Пн) 18:03

Захотелось. Видел контролы в DLL. А объекты из ОCX прекрасно создадутся, если библу подключить в референсах.
Изображение

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

Re: В чем у нас разница между ocx и dll файлами?

Сообщение tyomitch » 16.10.2006 (Пн) 20:44

ANDLL писал(а):Почему файлы с контролами решили обозвать одним разширением, а файлы без контролов - другими?

А почему у иконок и курсоров разное расширение?
Формат внутри тоже одинаковый.
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 16.10.2006 (Пн) 21:13

tyomitch
А зачем тогда две функции: LoadCursor и LoadIcon??
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

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

Сообщение tyomitch » 16.10.2006 (Пн) 21:26

Хз. Лучше обрати внимание на описание GetIconInfo.
Изображение

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 16.10.2006 (Пн) 22:38

Моя версия:
У конструкторов WinAPI оплата была по-функциональная и по-расширенческая :lol:

а если серьезно, наверно, очередные преимущества для со-интегрирования и совместимости..

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Re: В чем у нас разница между ocx и dll файлами?

Сообщение Q2W » 16.10.2006 (Пн) 23:25

tyomitch писал(а):А почему у иконок и курсоров разное расширение?
Формат внутри тоже одинаковый.

По-моему, нет.
В курсоре можно указать какая его точка будет указателем курсора (у стрелки это её конец, у песочных часов - их середина), а в иконке - нет.
Я знаю верный путь

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.10.2006 (Вт) 7:28

Одинаковый, эти поля и в ico зарезервированы, просто не используются.
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 17.10.2006 (Вт) 10:41

совместимость версий

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Re: В чем у нас разница между ocx и dll файлами?

Сообщение Vi » 18.10.2006 (Ср) 6:38

ANDLL писал(а):Почему файлы с контролами решили обозвать одним разширением, а файлы без контролов - другими?

Чтобы можно было различать их использование уже на стадии имен файлов.

С точки зрения СОМ, для существования и создания объекта нет никакой разницы какое расширение имеет файл его сервера. Однако для работы СОМ объекта и вызвавшего его клиента существенны те интерфейсы, которые реализует или требует СОМ объект для нормальной и успешной работы. И чем быстрее клиент узнает об отказе объекта или отсутствии у него интерфейса, тем выше отклик системы, меньше количество сообщений и т.п. Для этого вводятся всякого рода Категории Компонентов (CATID), по одному запросу категории можно понять поддерживает СОМ объект ту или иную функциональность или нет.

Такую же роль играет и расширение - быстрое указание на то, что СОМ объект в ОСХ файле требует контейнера или подложки, без которой он работать не будет.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

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

Сообщение tyomitch » 18.10.2006 (Ср) 10:15

Vi, так ведь ничто не перестанет работать от смены расширения у контрола? Хоть на .abc, хоть на .xxx
Изображение

yaklit
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 129
Зарегистрирован: 09.09.2006 (Сб) 19:38

Сообщение yaklit » 19.10.2006 (Чт) 20:57

хоть на .RUS хоть на .UA хоть на .COM. Pe формат. Если Exe содержить обьект то он может быть переименован в DLL и будет работать. Я имею ввиду ActiveX обьект.

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 20.10.2006 (Пт) 8:16

tyomitch писал(а):Vi, так ведь ничто не перестанет работать от смены расширения у контрола? Хоть на .abc, хоть на .xxx

Так я же не утверждаю это. Он будет работать так, как работал, и при смене расширения у кода сервера (с заменой этой информации в Реестре). Я же писал - чтобы различать пользователям/программистам. Как ты отличишь по своим требованиям одну DLL от другой DLL, не запуская? Никак, ну или по документации.

А так я вижу DLL сервер и отмечаю, что объекты из нее я могу использовать напрямую через создание и т.п. Если я вижу OCX сервер, то мне понятно, что нужно задействовать форму или контейнер, чтобы использовать объекты этого сервера. Хотя вполне возможно, что можно DLL-ные объекты пихать на форму и они будут работать, но это исключения, отражаемые в документации.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.10.2006 (Пт) 9:44

Как ты отличишь по своим требованиям одну DLL от другой DLL
Почитаю ее tlb.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 20.10.2006 (Пт) 10:17

Почитаю ее tlb.
В hex-редакторе. :lol:
Лучший способ понять что-то самому — объяснить это другому.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.10.2006 (Пт) 10:48

Кому как больше нравится
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


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

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

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

    TopList