Регистрация OCX

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

Регистрация OCX

Сообщение 13GHOST » 16.04.2005 (Сб) 9:32

Какая программа вообще осуществляет регистрацию OCX, и после регистрации она её копирует в System32 или нет :?:

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 16.04.2005 (Сб) 9:41

regsvr32.exe <<путь к осх или длл>>
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

13GHOST
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 305
Зарегистрирован: 09.01.2004 (Пт) 12:48

Сообщение 13GHOST » 16.04.2005 (Сб) 10:41

Thank, а после регистрации она её копирует в System32?

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

Сообщение GSerg » 16.04.2005 (Сб) 11:45

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

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

Сообщение ANDLL » 16.04.2005 (Сб) 12:10

Но желательно его ПЕРЕД регистрацией все-таки скопировать в system32 или в common files... Так более вежливо
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

13GHOST
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 305
Зарегистрирован: 09.01.2004 (Пт) 12:48

Сообщение 13GHOST » 16.04.2005 (Сб) 16:22

пасиба

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 01.10.2007 (Пн) 22:36

Пользуюсь Inno Setup. Вроде все удобно. Но вот при установке программы выдала ошибку про reg.ocx. Вроде Inno Setup должна регистрировать эти ocx. При создании сетапа я их указывал. Почему тогда так происходит. Или надо создать bat файл для регистрации?
C одним контролом был вот такой bat :

Код: Выделить всё

@echo off
regsvr32 название фыйла.ocx
echo Control registered!
pause


А также был regsvr32.exe.
Может я что не правильно делаю?
И еще. Нужно ли регистрировать dll?

Arcady_XQST
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 17.09.2007 (Пн) 1:27
Откуда: Russia, Bryansk

Сообщение Arcady_XQST » 01.10.2007 (Пн) 22:51

И еще. Нужно ли регистрировать dll?
ActiveX DLL - нужно

Arcady_XQST
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 17.09.2007 (Пн) 1:27
Откуда: Russia, Bryansk

Сообщение Arcady_XQST » 01.10.2007 (Пн) 22:54

А ещё при регистрации ActiveX (OCX, DLL) компонентов, лучше брать имя файла в кавычки. regsvr32.exe "[filename]"

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 02.10.2007 (Вт) 1:18

Качай, пользуйся и радуйся :D
Вложения
RegOCX.zip
(118.17 Кб) Скачиваний: 1058

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 02.10.2007 (Вт) 8:48

Какая программа вообще осуществляет регистрацию OCX, и после регистрации она её копирует в System32 или нет


Ни нужна программа, просто скопируй OCX в папку System32 и вызови у него функцию DllRegisterServer, после чего компонент сам себя зарегистрирует.

Код: Выделить всё
Private Declare Function DllRegisterServer Lib "твой.ocx" Alias  "DllRegisterServer" () As Long
Const ERROR_SUCCESS = 0
Dim regCode As Long

.....

regCode = DllRegisterServer ()  ' регистрация ocx
If regCode <> ERROR_SUCCESS Then
      MsgBox "Операция регистрации не выполнена"
End If

Юля Крюкова
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 04.11.2008 (Вт) 16:37

Re:

Сообщение Юля Крюкова » 12.12.2008 (Пт) 15:43

jangle писал(а):
Какая программа вообще осуществляет регистрацию OCX, и после регистрации она её копирует в System32 или нет


Ни нужна программа, просто скопируй OCX в папку System32 и вызови у него функцию DllRegisterServer, после чего компонент сам себя зарегистрирует.

Код: Выделить всё
Private Declare Function DllRegisterServer Lib "твой.ocx" Alias  "DllRegisterServer" () As Long
Const ERROR_SUCCESS = 0
Dim regCode As Long

.....

regCode = DllRegisterServer ()  ' регистрация ocx
If regCode <> ERROR_SUCCESS Then
      MsgBox "Операция регистрации не выполнена"
End If


У меня та же проблема: Ошибка 339, *.ocx не зарегистрирован. Вопрос: Куда это все нужно прописывать и как и когда вызывать эту функцию? И все таки нужно ли копировать в System32 файл *.ocx и как это сделать?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Регистрация OCX

Сообщение Viper » 12.12.2008 (Пт) 16:19

Ответ здесь!, копировать в системные каталоги необязательно, однако желательно, если OCX используется несколькими программами.
Весь мир матрица, а мы в нем потоки байтов!

Resident
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 04.07.2006 (Вт) 15:04
Откуда: г. Казань

Re: Регистрация OCX

Сообщение Resident » 12.12.2008 (Пт) 17:16

Я всегда устанавливаю свои программы путем X-COPY. Все OCX и DLL необходимые программе ложу в system32(либо в каталог с программой). При первом запуске программы все регистрируется само и на ура.

Юля Крюкова
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 04.11.2008 (Вт) 16:37

Re: Регистрация OCX

Сообщение Юля Крюкова » 12.12.2008 (Пт) 21:03

Viper писал(а):Ответ здесь!, копировать в системные каталоги необязательно, однако желательно, если OCX используется несколькими программами.

Там написано
regsvr32.exe <<путь к осх или длл>>
- я это читала, но не знаю где это написать в коде, чтобы заработало и скорей всего должно быть еще что то?

Я скомпилировала exe'шник, на моем компе все прекрасно. Я отдала эту прогу другому человеку протестировать, посмотреть все ли правильно, а у него сразу после запуска появилась эта ошибка. Я так понимаю, что мне *.ocx файл нужно положить рядом с ехе-шником, далее в какой то момент (скорей всего при запуске) этот файл должен быть прописан в реестр. Если я не права - поправьте меня пожалуйста. Использовать его будет только мое приложение, так что исхожу что файл будет лежать в папке с приложением, но если приспичит, то скопировать файл в System32 - думаю справлюсь и путь к нему указать, тоже вроде не проблема (помню где то видела функцию, которая дает ссылку на системную папку).

Остается один вопрос: Что нужно прописать в коде и когда (в каком событии) это должно выполниться, чтобы у него на компе прописался этот файл? И как проверить - прописался файл или нет - чтобы каждый раз его не прописывать, а только один раз?

Расскажите по-подробнее новичку, пожалуйста!

Заранее всем спасибо за помощь.

P.S. Скачала Inno Setup, который, судя по постам, сам все регистрирует, но там что то совсем мне не понятно ничего... Не слышали про хелп на русском к этой проге?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Регистрация OCX

Сообщение iGrok » 12.12.2008 (Пт) 22:01

Юля Крюкова писал(а):Я так понимаю, что мне *.ocx файл нужно положить рядом с ехе-шником, далее в какой то момент (скорей всего при запуске) этот файл должен быть прописан в реестр.

Достаточно просто положить все OCX в папку с программой. И переносить вместе с ними.

То есть по хорошему, да. regsvr32, и всё такое. Но ocx можно просто кинуть в папку с программой. Он будет автоматически зарегестрирован при первом запуске. Регистрировать обязательно, если ты кладёшь их в другую папку. В системную, или ещё какую-нибудь, отличную от той, где у тебя лежит исполняемый файл программы.
label:
cli
jmp label

Юля Крюкова
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 04.11.2008 (Вт) 16:37

Re: Регистрация OCX

Сообщение Юля Крюкова » 13.12.2008 (Сб) 16:21

iGrok! Большое спасибо! Когда ты отвечаешь, все всегда становиться ясно.

Юля Крюкова
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 04.11.2008 (Вт) 16:37

Re: Регистрация OCX

Сообщение Юля Крюкова » 27.12.2008 (Сб) 16:29

Снова я...

У меня все обычные *.OCX файлы типа MSCOMCTL.OCX успешно зарегились и больше ошибки не возникало, когда я положила их вместе с ЕХЕ-шником, но! у меня есть еще коммерческие контролы типа tidate8.ocx и vsflex8.ocx которые тоже лежат рядом с ЕХЕ-шником и они почему то не регятся автоматом, и возникает ошибка. Что делать??? Помогите! :cry:

В дополнение: Я решила зарегить ocx вручную. Делала вот так: regsvr32 "D:\exe\vsflex8.ocx" - компонент зарегился!, а regsvr32 "D:\exe\tidate8.ocx" - ошибка " Не найден указаный модуль", а потом появилось окошко "Ошибка при вызове LoadLibrary ("D:\exe\tidate8.ocx") - Произошел сбой в программе инициализации библиотеки динамической компановки (DLL)" - и все... :cry: :cry:

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Регистрация OCX

Сообщение iGrok » 27.12.2008 (Сб) 23:58

Юля Крюкова писал(а):...а regsvr32 "D:\exe\tidate8.ocx" - ошибка " Не найден указаный модуль", а потом появилось окошко "Ошибка при вызове LoadLibrary ("D:\exe\tidate8.ocx") - Произошел сбой в программе инициализации библиотеки динамической компановки (DLL)" - и все... :cry: :cry:
Ну с коммерческими компонентами может быть много разных вариантов.. Например, таскать с собой лицензию.

Но в данном случае мне кажется дело вот в чём:

The following list shows the dependencies for different constituent controls of TDBInput 8.0:
TDBDate control (tidate8.ocx): tibase8.dll, tishare8.dll

Для tidate8.ocx нужно таскать с собой ещё: tibase8.dll, tishare8.dll
label:
cli
jmp label

Юля Крюкова
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 04.11.2008 (Вт) 16:37

Re: Регистрация OCX

Сообщение Юля Крюкова » 28.12.2008 (Вс) 12:28

Скорей всего так и есть, я на каком то сайте с иероглифами еще нашла про подобные контролы:

The following list shows the dependencies for different constituent controls of TDBInput 8.0:

TDBCalendar control (ticaldr8.ocx): tibase8.dll, tishare8.dll, tiholyx8.dll

TDBContainer3D control (ticon3d8.ocx): tibase8.dll

TDBDate control (tidate8.ocx): tibase8.dll, tishare8.dll

TDBMask control (timask8.ocx): tibase8.dll, tishare8.dll

TDBNumber control (tinumb8.ocx): tibase8.dll, tishare8.dll

TDBNumLite control (tinumbl8.ocx): tibase8.dll, tishare8.dll

TDBText control (titext8.ocx): tibase8.dll, tishare8.dll

TDBTime control (titime8.ocx): tibase8.dll, tishare8.dll

Думаю на форуме должна быть эта инфа - вот и выкладываю. Регистрировать сказали нужно все как обычно, OCX-файл и DLL-файлы тоже так же в дополнение.

PilatP
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 117
Зарегистрирован: 24.08.2009 (Пн) 1:00
Откуда: Херсон

Re: Регистрация OCX

Сообщение PilatP » 18.08.2014 (Пн) 12:35

народ, столкнулся с проблемой, mscomct2.ocx через regsvr32.exe регистрирует и нет ощибки, но когда добавляю в проект, пишет что она не зарегистрирована
Я не волшебник, я только учусь)


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48

    TopList