VB5 или VB6 для не Installer приложений?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
БорисМ
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 22.11.2004 (Пн) 17:00

VB5 или VB6 для не Installer приложений?

Сообщение БорисМ » 25.11.2004 (Чт) 19:24

Допустим, у вас есть диск с программой autorun.exe, написанной на VB6. Вы дали его другу, тот пытается запустить диск под Вин98 и получает сообщение "Файл динамической библиотеки MSVBVM60.DLL не найден". Облом!!! :shock:

В тоже время, если тот же файл будет написан на VB5 - все получится, посскольку MSVBVM50.DLL по умолчанию поставляется вместе, если не заблуждаюсь, с Офисом к Вин98. Правда MSVBVM60.DLL вместе с MSVBVM50.DLL, тоже по умолчанию, поставляется с Офисом под ВинХР (а может и в Вин2000, но не уверен).

Отсюда вопрос - имеет ли смысл программировать на VB6, а потом в инсталлятор к каждой проге засовывать MSVBVM60.DLL (размером 1,35 МБ), или выбросить его (т.е. VB6) и вернуться к VB5, тем самым уменьшив размер инсталляторов :?:

На первый взгляд среда VB5 существенно не отличается от VB6. Или в них есть какие-то принципиальные отличия (имеется в виду по функциональности)? То, что проекты VB5 не запускаются в VB6 и наоборот - в принципе решаемо. Но вот наличие MSVBVM50.DLL на всех машинах, а MSVBVM60.DLL лишь на некоторых, на мой взгляд, сущетсвенный плюс в сторону VB5, особенно для программ, которые должны запускаться без инсталляции.

Или я заблуждаюсь? Буду рад услышать все мнения на этот счет. :!: :wink:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 25.11.2004 (Чт) 19:28

Купи счёты, дёшево и практично!
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

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

Сообщение tyomitch » 25.11.2004 (Чт) 19:36

БорисМ, да просто положи в папку к авторану msvbvm - и не будет никаких проблем...
Изображение

БорисМ
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 22.11.2004 (Пн) 17:00

Сообщение БорисМ » 25.11.2004 (Чт) 20:23

tyomitch писал(а):БорисМ, да просто положи в папку к авторану msvbvm - и не будет никаких проблем...


Это, конечно, выход. Но вот куде ее класть, если программа, например, на дискете?.. Сама MSVBVM60.DLL всю ее и займет...

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 25.11.2004 (Чт) 21:37

PEBundle

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 25.11.2004 (Чт) 22:18

A.A.Z. писал(а):PEBundle

Ага, тогда exe уж точно на дискету не влезет. По крайней мере, на одну :wink:
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 26.11.2004 (Пт) 0:01

Не ту среду разработки ты для маленьких приложений выбрал... имхо 8)

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 26.11.2004 (Пт) 10:28

Конечно VB5, я и до сих пор на нем пишу, и никаких неудобств не ощущаю, зато уверенно могу сказать что моя прога запуститься без проблем на любом компе. От VB6 он отличается лишь нехваткой нескольких не очень нужных функций и редактором ресурсов, я не думаю что это вызовет большие затруднения в написании таких программ как autorun.exe, да и более сложных тоже. Кстати про размер, программа для автозапуска написанная на VB5 без учета ресурсов может занять около 10-20 кб. Разве это много, даже для дискеты?
Нет ничего невозможного для человека с интеллектом.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 26.11.2004 (Пт) 12:12

Kostyan писал(а):Конечно VB5, я и до сих пор на нем пишу, и никаких неудобств не ощущаю, зато уверенно могу сказать что моя прога запуститься без проблем на любом компе.

Win95, Win98 не SE? Linux? :wink: Если программа использует что-нибудь посущественней чем Print? Winsock или CommonDialog Control, допустим? Контроль версий простым экзешником не обойти.
Kostyan писал(а):От VB6 он отличается лишь нехваткой нескольких не очень нужных функций и редактором ресурсов

.... а также шестью сервиспаками, исправляющими глюки и ошибки в контролах...

Kostyan писал(а):Кстати про размер, программа для автозапуска написанная на VB5 без учета ресурсов может занять около 10-20 кб. Разве это много, даже для дискеты?

Не надо недооценивать пропускную способность вагона, груженого CD-ROM'ами (c) :)[/quote]

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

Сообщение tyomitch » 26.11.2004 (Пт) 16:16

БорисМ писал(а):
tyomitch писал(а):БорисМ, да просто положи в папку к авторану msvbvm - и не будет никаких проблем...


Это, конечно, выход. Но вот куде ее класть, если программа, например, на дискете?.. Сама MSVBVM60.DLL всю ее и займет...

Авторан на дискете? лол :lol:

Если серьёзно, то компов без флопповодов сейчас уже, кажется, больше, чем компов без сидюков. Забей на дискеты :-)
Изображение

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

Сообщение tyomitch » 26.11.2004 (Пт) 16:22

Kostyan писал(а):От VB6 он отличается лишь нехваткой нескольких не очень нужных функций и редактором ресурсов

Далеко не только этим: http://groups.google.com/groups?selm=18 ... put=gplain
А преимуществ у него ровно два - маленькая справка и рантайм, лежащий в Win98. И то и другое мне "за давностью лет" кажется несущественным.
Изображение

БорисМ
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 22.11.2004 (Пн) 17:00

Сообщение БорисМ » 26.11.2004 (Пт) 16:48

Sedge писал(а):... Если программа использует что-нибудь посущественней чем Print? Winsock или CommonDialog Control, допустим? Контроль версий простым экзешником не обойти.


По сравнению с MSVBVM60.DLL CommonDialog Control - мелочь. Если я не ошибаюсь, то размеры всех наиболее используемых контролов (RichText, CommonDialog, Enternet, Winsock) и вместе взятые не превысят одного только MSVBVM60.DLL. Конечно, если сама программа тянет на 10 МБ и более, то лишних 1,3МБ - ерунда, а вот если програ на 300 кБ, то довесок к ней в 1,3 МБ уже существенен. А представь, что эти 300кБ +1,3 МБ нужно скачать из интернета...

В принципе я понял так - где можно обойтись без преимуществ ВБ6 (редактора ресурсов, поддержки .chm файлов и т.п.) лучше использовать ВБ5.

БорисМ
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 22.11.2004 (Пн) 17:00

Сообщение БорисМ » 26.11.2004 (Пт) 17:10

tyomitch писал(а):А преимуществ у него ровно два - маленькая справка и рантайм, лежащий в Win98. И то и другое мне "за давностью лет" кажется несущественным.


:?: Переведи...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 26.11.2004 (Пт) 17:12

Если серьёзно, то компов без флопповодов сейчас уже, кажется, больше, чем компов без сидюков. Забей на дискеты


Угу - я дома на компах уже давно флопики повыдергал и заглушками залепил. Ибо после того как взял флэшку дисководы оказались совсем не у дел. Ну и нафига им там вообще торчать - с их жалкими 1,4 Mb - как дань ушедшему веку?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

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

Сообщение tyomitch » 26.11.2004 (Пт) 17:47

БорисМ писал(а):
tyomitch писал(а):А преимуществ у него ровно два - маленькая справка и рантайм, лежащий в Win98. И то и другое мне "за давностью лет" кажется несущественным.

:?: Переведи...

1. Win98 стоит у ~15% населения, и это число неуклонно снижается. Следовательно, писать ориентированные на Win98 приложения - пустая трата времени.
2. Когда вместо справки в VB6 приделали MSDN Library, все возмущались, что приходится либо убивать 1Гб места на его установку, либо после каждого нажатия на F1 вставлять диск. Сейчас уже мало у кого не найдётся 1Гб свободного места, и это ограничение потеряло значимость.

Вывод: все преимущества, бывшие у VB5, утратили свою ценность; зачем сейчас кто-то будет на нём писать, я не представляю себе.
Изображение

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 27.11.2004 (Сб) 3:26

Sedge писал(а):Если программа использует что-нибудь посущественней чем Print? Winsock или CommonDialog Control, допустим?

Неужели ты до сих пор используешь стандартные контролы? Люди, для этого существует WinAPI, я уже лет 5 как не пользуюсь такими контролами как Winsock, CommonDialog Control, Windows Common Controls и им подобные. И Вам советую, хотябы для понимания внутреннего устройства винды, научиться обходиться без них, и реализовывать всё на АПИ, тем более это не так уж и сложно. И ничего кроме exe с собой таскать не придется.
Нет ничего невозможного для человека с интеллектом.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 27.11.2004 (Сб) 4:02

Если Winsock и CommonDialog заменить можно, то переписывать Windows Common Controls (а он тоже кстати API вызывает, из чего следует, что ты велосипед изобратаешь каждый раз :lol:) - ИМХО, во многих случаях не оправданно.

ps: исключаются те случаи, когда необходимо что-то встроить, чего нет в CommonCtrls 8)

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

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

Сообщение tyomitch » 27.11.2004 (Сб) 10:18

Kostyan писал(а):
Sedge писал(а):Если программа использует что-нибудь посущественней чем Print? Winsock или CommonDialog Control, допустим?

Неужели ты до сих пор используешь стандартные контролы? Люди, для этого существует WinAPI, я уже лет 5 как не пользуюсь такими контролами как Winsock, CommonDialog Control, Windows Common Controls и им подобные. И Вам советую, хотябы для понимания внутреннего устройства винды, научиться обходиться без них, и реализовывать всё на АПИ, тем более это не так уж и сложно. И ничего кроме exe с собой таскать не придется.

Ну, если свободного времени слишком много - то можно и на АПИ... Но обычно это не так.

"Да вы шо все?" (с) О чём, собственно, спор?
Вам мегабайт места жалко?
Изображение

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 27.11.2004 (Сб) 11:47

Kos2tyan писал(а):
Sedge писал(а):Если программа использует что-нибудь посущественней чем Print? Winsock или CommonDialog Control, допустим?

Неужели ты до сих пор используешь стандартные контролы? Люди, для этого существует WinAPI, я уже лет 5 как не пользуюсь такими контролами как Winsock, CommonDialog Control, Windows Common Controls и им подобные.

Код: Выделить всё
- Вы все еще кирятите?!
- Помилуй, батюшка, уже целых сто лет как на кол сажаем!
(c)

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

Абсолютно нереальная ситуация. Внешние компоненты все равно будут присутствовать. Так что - одним больше, одним меньше... Если конечно писать нормальные коммерческие приложения уровня хотя бы среднего офиса, а не бесконечные вариации на тему Hello World.
Последний раз редактировалось Sedge 27.11.2004 (Сб) 11:51, всего редактировалось 1 раз.

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

Сообщение GSerg » 27.11.2004 (Сб) 11:50

Эх, Sedge :)
А почему у меня одни только exe? :)
Разве что гриды пока не потяну... Но это пока :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 27.11.2004 (Сб) 11:53

GSerg писал(а):Эх, Sedge :)
А почему у меня одни только exe? :)
Разве что гриды пока не потяну... Но это пока :)

... не перешел на С++... :) :)

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 27.11.2004 (Сб) 15:19

GSerg
Представь, что (c)Microsoft тоже зипахет, ну скажем, Word в один exe.. Ты как себя чуствовать будешь, когда этот 70-100 метровый монстр будет грузиться под 5 минут (потому как надо же все загрузить, что в exe, даже то, что использовать не будем пока, это ж не dll)

ps: а грид уже до тебя товарищ Steve McMahon отличный написал, вряд ли его можно лучше сделать :lol:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

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

Сообщение GSerg » 27.11.2004 (Сб) 15:24

Я не считаю нужным выносить modCommonDialog в OCX. Равно как менюшку. Равно как любой стандартный виндовский контрол, wrapper которого я написал...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.11.2004 (Сб) 20:43

Word запихивать в exe нельзя - настроить ничего нельзя будет.
А работало бы наоборот гораздо быстрее.

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

Сообщение tyomitch » 27.11.2004 (Сб) 21:42

AAZ, работало бы медленнее именно по названной причине - грузмлось бы полдня.
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.11.2004 (Сб) 21:58

А я где-то читал, что наоборот... :scratch: :study:

БорисМ
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 22.11.2004 (Пн) 17:00

Сообщение БорисМ » 29.11.2004 (Пн) 20:24

tyomitch писал(а):1. Win98 стоит у ~15% населения, и это число неуклонно снижается. Следовательно, писать ориентированные на Win98 приложения - пустая трата времени.

Вывод: все преимущества, бывшие у VB5, утратили свою ценность; зачем сейчас кто-то будет на нём писать, я не представляю себе.


Спасибо, теперь понял. Но, 1) ~15% населения еще используют Win98, следовательно - нет гарантии, что кто-то из них, не сумев запустить программу, ткнет тебя, как ее автора, фейсом об тейбл; 2)под Win98/2000/ХР программа получается автоматически хоть на ВБ5, хоть на ВБ6; 3) с появлением VB.net все сказанное о VB5 можно сказать и о VB6 (не так ли?).

Кстати, если в файле проекта убрать только один ключ то весь проект, написанный в VB6, прекрасно запускается в VB5, а проекты, написанные в VB5, прекрасно стартуют в VB6, если в них используются совместимые компоненты (Кристалл репорт, вероятно (я не пробовал), не пойдет в VB6). В этом я сам убедился. Кроме того, если на машине стоят и VB5, и VB6, то они используют одни и те же компоненты. Поработав в VB5 и VB6 я пришел к выводу, что они практически одинаковы (за исключением компонентов) и ряда функциц (VB5 не поддерживает хелп.chm, но это легко обходится при помощи АПИ, и "урезает" путь и имя файлов до вида, например, "C:\HGF~\HGF~.TXT", что невсегда удобно, особенно при сравнении PathOfProgramm и App.Path. В остальном каких-либо проблем не возникало. Так что VB5 не так уж сильно отличается от VB6.

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

Сообщение tyomitch » 29.11.2004 (Пн) 21:05

3) рантаймы .net не предустановлены ни в Win2000, ни (афаик) в WinXP SP0 - так что не канает.
4) только если не использованы VB6-специфичные возможности, коих много и коими не стоит пренебрегать.

Если ты считаешь, что VB5 почти не отличается от VB6 - значит, ты просто плохо знаешь один из них ;-)
Изображение

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 29.11.2004 (Пн) 23:56

Это VB5 и VB6 одно и то же???
Ладно, чуть-чуть разубежу того, кто так думает и спать пойду
==========================================

1) В VB5 нельзя обявлять пользовательские типы как Public и использовать из в дальнейшем, как аргументы или как значение возвращаемое функцией
2) B VB5 нельзя возвращать массивы
3) Динамические массивы только с VB6 могут присваиваться простым уравниванием [Пример: astrFiles() = astrFolders()]
4) В VB5 нет FSO
5) В StrConv VB5 нельзя заюзать кодовую страницу (LocaleID), может не так и полезно, но моя программа-плеер (в проектах) отказалась бы работать

Ну и в догонку, пара функций отделяет VB5 от VB6??
Да вот хотя бы несколько новых ф-ий по работе со строками, которых нет в VB5:
Код: Выделить всё
Filter()
FormatCurrency()
FormatDateTime()
FormatNumber()
FormatPercent()
InstrRev()
Join()
MonthName()
Replace()
Round()
Split()
StrReverse()
WeekdayName()


Вообщем, Борис М, ты понял, что ничего не понял :wink:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

БорисМ
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 22.11.2004 (Пн) 17:00

Сообщение БорисМ » 30.11.2004 (Вт) 16:45

xolod писал(а):Это VB5 и VB6 одно и то же???
...
Вообщем, Борис М, ты понял, что ничего не понял :wink:


Небольшое уточнение. :idea: Говоря, что VB5 и VB6 одно и то же, я имел в виду совместимые программы, т.е. те, которые с равным успехом идут и в VB5, и VB6. Качать с интернета лишние 1,25 МБ (хоть и в сжатом в ZIP виде) - не сахар, особенно если скорость закачки близка к нулю.

А в остальном - я сам пишу на VB6 и он мне ндравится больше, чем VB5. Вот если бы еще не таскать с собой MSVBVM60.DLL... :!:


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

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

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

    TopList