Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2010, 09:37   #1
Haworld
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 3
По умолчанию Проблема с регистрацией ActiveX на другом ПК

Доброго всем времени суток!

В Delphi 7 создаю ActiveX (ч\з ActiveForm). Компилирую .ocx Вставляю в проект.
Для того чтобы осх и проект работали на другом ПК, пытаюсь компонент зарегистрировать ч\з regsvr32.ехе Выдает ошибку регистрации "Не удалось выполнить вызов DllRegisterServer".
При выполнении проекта пишет "Класс не зарегистрирован"

Возможно, кто-то сталкивался с подобной проблемой. Мне нужно ПРАВИЛЬНО скомпилировать ActiveX, чтобы можно было его использовать в проекте (возможно на другом языке программирования) на другом ПК (где не стоит Delphi).
Haworld вне форума Ответить с цитированием
Старый 03.11.2010, 09:43   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

regsvr32 my.ocx /i
...а полномочия-права на машине есть? ...и что с авирем?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 03.11.2010, 09:48   #3
Haworld
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
regsvr32 my.ocx /i
...а полномочия-права на машине есть? ...и что с авирем?
Права есть.
Что такое "Авирем"
Haworld вне форума Ответить с цитированием
Старый 03.11.2010, 09:50   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

антивирус, файрволл не мешают-ли ?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 03.11.2010, 09:51   #5
Haworld
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
regsvr32 my.ocx /i
Не помогает
Haworld вне форума Ответить с цитированием
Старый 03.11.2010, 18:09   #6
NoName_emaNoN
Форумчанин
 
Аватар для NoName_emaNoN
 
Регистрация: 15.11.2007
Сообщений: 229
По умолчанию

Сталкивался с такой проблемой. Скорей всего проблема с правами. На Висте и семёрке запрещено это действие. А как от имени администратора выполнить регистрирование так толком и не нашёл. Проблему так и не решил, пошёл другим путём.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
NoName_emaNoN вне форума Ответить с цитированием
Старый 04.11.2010, 19:02   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

создаем ярлык с этой командой и выполняем от имени админа.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.11.2010, 19:41   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Может вручную попробуете?
Пример на JS, из гаджета для Windows 7(Vista)
Код:
var Clsid = "{E0DC92BD-F101-44E0-84F6-F39B7DA5A424}";
var ClassName = "MyActiveFormXGadgetProj.MyActiveFormXGadget";
var LibPath = System.Gadget.path + "\\MyActiveFormXGadgetProj.ocx";
var oShell = new ActiveXObject("WScript.Shell");

function RegisterLibrary()
{
  oShell.RegWrite("HKCU\\SOFTWARE\\Classes\\" + ClassName + "\\", ClassName, "REG_SZ");
  oShell.RegWrite("HKCU\\SOFTWARE\\Classes\\" + ClassName + "\\CLSID\\", Clsid, "REG_SZ");
  oShell.RegWrite("HKCU\\SOFTWARE\\Classes\\CLSID\\" + Clsid + "\\", ClassName, "REG_SZ");
  oShell.RegWrite("HKCU\\SOFTWARE\\Classes\\CLSID\\" + Clsid + "\\InprocServer32\\", LibPath, "REG_SZ");
  oShell.RegWrite("HKCU\\SOFTWARE\\Classes\\CLSID\\" + Clsid + "\\ProgID\\", ClassName, "REG_SZ");
}

function UnregisterLibrary()
{
  oShell.RegDelete("HKCU\\SOFTWARE\\Classes\\CLSID\\" + Clsid + "\\ProgID\\");
  oShell.RegDelete("HKCU\\SOFTWARE\\Classes\\CLSID\\" + Clsid + "\\InprocServer32\\");
  oShell.RegDelete("HKCU\\SOFTWARE\\Classes\\CLSID\\" + Clsid + "\\");
  oShell.RegDelete("HKCU\\SOFTWARE\\Classes\\" + ClassName + "\\CLSID\\");
  oShell.RegDelete("HKCU\\SOFTWARE\\Classes\\" + ClassName + "\\");
}

RegisterLibrary();
window.attachEvent("onunload", UnregisterLibrary);
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с ParentWindow или SetParent и так плохо и так(когда одно находится в другом) puga555 Общие вопросы Delphi 1 14.12.2009 23:53
Проблема с регистрацией на сайте даша петрова Свободное общение 1 07.07.2009 12:10
Помоготие с регистрацией MS OFFICE Emil_Ahmet_89 Помощь студентам 5 27.11.2007 06:26