| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Компилирование програм на VB6 |
| Автор: merlex 7.4.2005, 23:08 |
| При создании exe файлов, в опциях есть несколько переключателей P-code Native code ........ и тд. подскажите, что все это значит, или хотябы как это отразится на конечном файле, спрашиваю я это потому, что откомпилированная мной простая прога (чисто расчеты, без графики, без использования dll, просто ТекстБоксы для ввода значений, ТекстБоксы для вывода, три-четыре управ. кнопки) запускается не на всех компах. моем (АХР2400,кт400,256,гФ2мх400х32 - если это важно) под 98(вб есть) и ХР(вб ставился, сейчас нету) друга (примерно тоже) ХР(вб есть) в технаре (П133,16,s3 2mb) под 98 (вб нет,и небыло) в технаре (примерно тоже) под 95 (вб нет,и небыло) Пишет: Программа вызвала ошибку <нет данных> И вообще какие нюансы нужно учесть при компилировании? Спасибо заранее!!!!!!!!! |
| Автор: Ch0bits 7.4.2005, 23:31 |
| Там скорее всего не хватает msvbvm60.dll(для VB6) или msvbvm50.dll(для VB5) Скопируй эти dll-ки у себя с XP. Они в Windows\System32 лежат. |
| Автор: Akina 8.4.2005, 08:05 | ||||
Бред. Если не найден DLL или там OCX какой - об этом честно сообщается. И ни слова об ошибках.
Нужно отследить все референсы программы (включая опосредованные) и контролировать версии использованных компонентов. Потому как старая версия какого-нить stddlg.dll запросто может вызвать обсыпание. Как впрочем и неверная регистрация компонента. Полагаю, именно в этом проблема. В общем надо делать нормальный инсталлятор. |
| Автор: merlex 9.4.2005, 20:43 |
| msvbvm60.dll, скинул, теперь о ошибке не сообщает, требует еще какуюто хрень, причем на разных тачках разную. Добавлено @ 20:51 че за библиотеки там могут впринципе понадобиться помимо msvbvm60.dll ? |
| Автор: merlex 9.4.2005, 20:53 |
| P-code Native code В чем разница? |
| Автор: Ch0bits 9.4.2005, 21:07 | ||
По моему разница только в названии. Ты попробуй скомпилить одинаковые проги в режиме P-code и "Native code", а потом сравни exe-шки. Я не пробовал, у меня и VB нет, а то вдруг разные получатся! |
| Автор: Exception 10.4.2005, 12:20 | ||
P-Code - это промежуточный код, его легко декомпилить. Native - это машинный код. Вот в нем и надо |
| Автор: merlex 10.4.2005, 21:53 |
| я делал и в том и втом, в обоих случаях требовал msvbvm60.dll, только после этого прога запускалась на всех ХР-шных машинах (на 98 через раз), а вообще без него можно обойтись (msvbvm60.dll)? всетаки хочится сделть нормальную самостоятельную прогу, так как пользоваться ей будут люди далекие от компутеров, и без меня, им трудно будет объяснить что чтоб все работало надо длл-ку в системную папку скинуть, впринципе я сделал инсталятор в вин раре который msvbvm60.dll в %windir% кидает, но подозреваю что копировать навярняка будут уже установленную прогу? да и весит распакованный msvbvm60.dll 1.3мб , а им не объясниш что такое винрар |
| Автор: Akina 11.4.2005, 08:59 | ||||
нет
сделай НОРМАЛЬНЫЙ инсталлер. ВинРАР, блин, он использовал... уржаться... почитай хотя бы хелп по VB6 Application Distribution... |
| Автор: merlex 12.4.2005, 23:05 |
| Akina, слышь, умник блин, смотри сосмеху не помри, если по делу ниче сказать не можешь то засунь свой язык, а лучше клаву, себе сам знаешь куда. |
| Автор: Ch0bits 12.4.2005, 23:16 |
| merlex Эй! Тут тебе не базар! ИМХО Лучший инсталлер InnoSetup http://www.jrsoftware.org/isinfo.php |
| Автор: merlex 14.4.2005, 07:53 |
| Vadim999, да я согласен, но если тут начинают, наезды не обоснованные катить то.... , InnoSetup скачал впринципе ниче, токо не понятно как им dll регистрировать при установке. П.С. чем вин рар ему не угодил, создал SFX, в нем bat фаил, просто и сердито, и степень сжатия хорошая, а не работало только по тому что MSSTDFMT.DLL хоть и скидывался но не регистрировался. И вообще я видел программы у которых setup сделан на основе SFX в винраре. П.П.С. Я ждал ответа чтото типа: Чтоб посмотреть какие Dll,OCX использует твой проект кликни Проект>Ссылки, чтоб прога увидела требуемые ей библиотеки ,некоторые из них нужно зарегистрировать, в меню выполнить набери regsvr32 Dllname.DLL {ENTER} . Вот ивсе |
| Автор: Ch0bits 14.4.2005, 17:16 |
| merlex ИМХО Мне Inno нравится тем, что он поддержимает самое сильное на сегодня сжатие LZMA(7-zip), очень прост и компактен. А ещё бесплатный. По счет регистрации dll: если их использует только твоя прога, то копируй в одну папку с ней. Если несколько прог, то копируй в Windows\System32. Все проги сначала ищут dll'ки в рабочем каталоге, затем в виндузе, ну а потом по регистрации в реестре. Чтобы посмотреть какие dll,ocx,bpl,ax... использует прога, нужен какой-нибудь продвинутый TaskManager или утилита Depends из MS Application Compotability Tools. |
| Автор: merlex 15.4.2005, 07:57 | ||
ага счас, я этот фаил (MSSTDFMT.DLL) куда только не скидывал, его нужно обязательно регить. |
| Автор: Ch0bits 15.4.2005, 10:45 |
| Нинай-нинай... Насколько я знаю нужно регистрировать только ActiveX и COM объекты... MSSTDFMT.DLL как раз к таким и относится, написано в свойствах: MSSTDFMT Object Library У меня она уже входит в поставку виндуза и не пребует регистрации. ПыСы: И чего я сюда залез, я же на VB не пишу! |
| Автор: Exception 15.4.2005, 11:35 | ||||
Наверное написанные на вб? Я видел проги, которые вообще не требуют инсталляции. А знаешь почему? Потому что они не требуют dll-ок. Для надежной инсталляции, поверь, лучше юзать инсталляторы.
Правила форума читал? Полезно будет. |
| Автор: Akina 15.4.2005, 15:49 | ||||
А для чего тогда жалишься что он тебе компонент не зарегил? А? это ТЫ не дописАл инсталлер. Причем поначалу - полное впечатление что нет понимания сути процесса инсталляции. Посему и обложил. Не знаешь как написАть свой инсталлер - бери готовый. Кстати, если ты посмотришь профессиональные инсталлеры на основе RARSFX (скажем Ахедовский) - то обнаружишь там много чего дополненного разработчиком для реализации отсутствующего в SFX. PS. А ты знаешь, что ручной регистрацией компонента можно завалить полсистемы? |
| Автор: Вадян! 15.4.2005, 18:00 | ||
| Akina а Где можно нарыть пару тройку статеек, про инсталлеры
я подумал ты знаеш, чтоб самому на поиски тучу времени не убить, кинь ссылку !!! |
| Автор: Voldemar2004 16.4.2005, 20:30 |
| У меня вопрос: как в NSIS-инсталлере записать в скрипт то что я хочу добавить собственные Dll-ки в папку Windows(XP) или WinNT (2000). И чтобы скрипт автоопределял эти папки (для 2K - WINNT, для XP- WINDOWS ) использую по дефолту Basic-script. Добавлено @ 20:31 Да и если можно, киньте ссылку на Хелп по NSIS - инсталлеру. |
| Автор: merlex 16.4.2005, 23:35 | ||
| Как в Inno Setup, правильно зарегить DLL-ку. (так чтоб НЕ
|
| Автор: Exception 17.4.2005, 12:28 | ||
Почитайте еще раз Один топик - один вопрос |