\[*ш*]/ robots will rule the world! Игры должны быть красивыми. И хватит называть свои говнюшечки проектами. Мученик всия геймдева, зобаненый сетевыми гоблинами нетрадиционной ориентации.
Регистрация компонентов VB (1 голосов) Почти каждый программист делая программку использует какой - нибудь компонент(взять тот же Common Dialog), и очень часто при переносе программы на вражеский комп программа не работает, из - за того что на вр. компе нету компонента, или он не зарегистрирован в системе. Вот основные способы регистрации: Надо скачать программу VB-PowerWrap или Fusion, и с помощью нее скомпилировать vb программу и ocx`ки и dll`ки в один *.exe файл. Т.е. эти программы нужны для того, чтобы запихнуть все библиотеки и компоненты в один exe файл. Положить все нужные компоненты и библиотеки в папку с программой, из которой они будут запускаться. И тогда при запуске программы, они автоматически зарегистрируются. Этот способ проверялся на VB6(на VB5 может и не работать) Можно воспользоваться программой regsvr32.exe, она вроде поставляется со всеми версиями windows(начиная с 98). Эта программа нужна для регистрации компонентов. Сейчас напишем программу, которая будет регистрировать/дерегистрировать компонент. На форму кинь 2 кнопки(у 1ой, Caption = "Регистрировать", у 2ой - "Де - регистрировать"). Код: ? 1 2 3 4 5 6 7 Private Sub Command1_Click() Shell "cmd /X /C start regsvr32.exe 1.ocx /s", vbHide' Регистрируем компонент 1.ocx, который находится в тойже папке где и сама программа. Параметр /s нужен для тихой регистрации, т.е. если его не указать, то при регистрации компонента будет появлятся сообщение, о том что компонент зарегистрирован. End Sub
Private Sub Command2_Click() Shell "cmd /X /C start regsvr32.exe /u 1.ocx", vbHide' Де - Регистрируем End Sub Исходник (в исходнике 2 проекта, первый - регистрирует/де - регистрирует компонент, а второй находится в папке "Тест", и использует зарегистрированный компонент(если компонент не зарегистрирован, то проект(2) не откроется))
Программа regsv32 может запускаться с разными параметрами: /u - Отмена регистрации /s - "Тихий" режим; окна сообщения не отображаются /i - Вызывает DllInstal, передовая параметром необязательную строку команд, при использовании с ключом /u DllInstall /n - Не вызывает DllInstallServer; это может использоваться с ключом /i
При создании более - менее крупных программ следует помнить, что VB работает на подпорках(это библиотеки msvbvm60.dll - если программа написанна на VB6, и msvbvm50.dll - если программа написанна на VB5). А эти подпорки есть не на всех компах, т.е. их следует тоскать со своей программой, и регистрировать. Наверное лучше всего для этого подайдет способ 2, но возможно(я на VB5 не проверял), этот способ на VB5 работать не будет, и поэтому можно сделать при помощи *.bat файлов. Открой блокнот, и впиши туда:
Первая строчка регистрирует компонент(Common Dialog), вторая библиотеку msvbvm60.dll, третья запускает файл autorun.exe. Теперь сохрани это файл как(Файл>>Сохранить как) имя_файла.bat. И положи в ту директорию где этот файл библиотеки и компоненты который он регистрирует(в нашем случае COMDLG32.ocx, msvbvm60.dll). И туда же файл autorun.exe. Если ты всё сделал правильно, то при запуске этого файла, у тебя должны зарегистрироваться компоненты и библиотеки, и потом запуститься файл autorun.exe.