Проблема с OCX'ом

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

Проблема с OCX'ом

Сообщение XairOn » 26.09.2005 (Пн) 20:54

Здравствуйте, у меня такой вопрос: в моей прогк требуется контрол ListView, но я вот думаю, добавив его я автоматически делаю свою прогу зависимой от mscomctl.ocx, решил грузить контрол динамически не добавляю компонент к проекту:
Код: Выделить всё

Licenses.Add "MSComctlLib.ListViewCtrl.2"
Set ctlExtender = Controls.Add("MSComctlLib.ListViewCtrl.2", "MyControl")
............................................
и т.д.

А потом чё-то подумал и решил что глупость я какую-то сморозил, всё равно ведь контрол будет грузиться из того же самого OCX'а. Так вот в чём мой вопрос: есть всё же какая-нибудь разница между тем, что я подключу mscomctl.ocx или буду динамически его подгружать? Или в любом случае придётся его за собой тащить? А может он с виндой идёт... стандартно?[/code]

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

Сообщение GSerg » 26.09.2005 (Пн) 22:12

Сам как думаешь?
В том смысле, что все пользуются инсталляторами - наверное, есть причина?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 27.09.2005 (Вт) 5:28

Ну прога вобщем-то небольшая, и этот mscomctl.ocx весит в 10 раз больше самой проги, как-то уж очень не хочется его за собой тащить :-/ Вобщем разницы нету никакой, что я буду динамически контрол добавлять, что как компонент к проекту подключать... да?

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 27.09.2005 (Вт) 8:15

XairOn писал(а):Ну прога вобщем-то небольшая, и этот mscomctl.ocx весит в 10 раз больше самой проги, как-то уж очень не хочется его за собой тащить :-/ Вобщем разницы нету никакой, что я буду динамически контрол добавлять, что как компонент к проекту подключать... да?


ты не поверишь, но MSVBVM60.DLL весит в 20 раз больше :)
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 27.09.2005 (Вт) 11:11

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

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 27.09.2005 (Вт) 14:07

Меня вообще-то малость другой вопрос интересовал: я имел в виду, что зачем таскать за собой OCX, когда на каждой тачке и так есть уже все эти компоненты, вот например тот же ListView это один из самых основных компонентов в системе... без него и окошек-то нету... так зачем же мне какой-то OCX, может можно откуда-нибудь подгрузить нужный мне контрол вот и всё?!

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 27.09.2005 (Вт) 14:43

XairOn это DLL есть, а OCX'а нет. А в OCX'е как раз все методы свойства для работы с объектом и хранятьтся. Если ты из DLL'а хочешь создать объект, то придётся свой класс писать, где через CreateWindow будет создаваться элемент, сабклассится и управляться константами через SendMessage... иди скачай где-нибудь уже готвый класс...
Программисты не глючат - глючат компиляторы...

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 27.09.2005 (Вт) 18:17

2CodeName33 да ну его нафиг... пусть лучше OCX качают :D

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

Сообщение AjaxVS » 28.09.2005 (Ср) 12:01

ты не поверишь, но MSVBVM60.DLL весит в 20 раз больше


Ты не поверишь - я сжимал этот файл до 650 Кб... И он работал на любой машине... И жрал меньше ресурсов +_+
С тех пор все коммерческие проекты поставляю с собственной библиотекой AjaxVSvm.dll, и никто не знает, что я пишу на ВБ (msvbvm50/60.dll экзехи не требуют) +_+

А ты? +_+

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 28.09.2005 (Ср) 12:03

а чем ты его сжал?
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

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

Сообщение AjaxVS » 28.09.2005 (Ср) 12:04

PS. Я обхожусь БЕЗ всяких там архиваторов!

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

Сообщение alibek » 28.09.2005 (Ср) 12:08

AjaxVS писал(а):(msvbvm50/60.dll экзехи не требуют)

Мда... Как все запущено.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение AjaxVS » 28.09.2005 (Ср) 12:18

Так и знал... Не поверил =(
С прогами типа upx знаком?

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

Сообщение alibek » 28.09.2005 (Ср) 12:28

А как они работают, знаешь? Если знаешь, то незачем говорить глупости.

AjaxVS писал(а):PS. Я обхожусь БЕЗ всяких там архиваторов!

Как ни странно, но проги типа UPX -- это как раз таки архиваторы.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение tyomitch » 28.09.2005 (Ср) 17:18

2All: пожатые библиотеки требуют больше ресурсов, чем непожатые, потому что их код свопится (а у непожатых просто стирается из памяти, а потом подгружается с диска).

Жать библиотеки имхо было актуально несколько лет назад, когда у всех были модемы на 14400 бит/с и дискеты на столько же сотен байт. Сейчас же это никакой разумной цели не отвечает, кроме как "скрыть от общественности позорный факт, что прога написана на VB"
Изображение

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 28.09.2005 (Ср) 19:53

Этим надо гордиться, а не считать позорным фактом. VB - единственный язык, который не надо учить годами, чтобы создать работающую программу со сносным интерфейсом!
Моду создают модоки, а распространяют модозвоны.


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

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

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

    TopList