В Delphi 8 не работаю компоненты ActiveX

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Viktor Zull
Сообщения: 117
Зарегистрирован: 10 ноя 2005, 02:00

Никак не получается использовать ActiveX компоненты в Delphi 8.
Компоненты устанавливаются, отображаются в списке, и в палитру компонентов добавляются, а когда пытаюсь разместить компонент на форме, вылетает ошибка: типа неверный путь к файлу ocx или dll.
Проверил, файлы на диске есть, путь к ним прописан верно, и в реесте запись об ActiveX компоненте есть. Но ошибка все равно появляется.
Не могу понять почему это происходит.

Может кто сталкивался с такой ситуацией, помогите разобраться.
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Попробуйте их заново зарегистрировать: regsvr32 <dllname>
Viktor Zull
Сообщения: 117
Зарегистрирован: 10 ноя 2005, 02:00

Попробовал зарегистрировать. Было сообщение об успешной регистрации. Но в Delphi 8 все равно не работают.

Те же самые компоненты работают в Delphi 7.

Нашел в интернете Update2 для Delphi8, update1 уже был. Поставил. Но ни чего, все таже ошибка о невозможности использования компонента.

Видел на других форумах такой же вопрос, но там на него никто не ответил.

Прошу Вас предположить, что может быть еще причиной даанной проблемы. Очень хотелось бы разобраться в чем дело.
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Вот ответ на одном из форумов, похоже, ваш случай:
Q: I want to use ActiveX in Delphi 2005, but the forms designer does not accept ActiveX controls to a form. It gives error message "Failed to add a reference to the ActiveX type library. Ensure that it is properly registered. ...". How to solve this problem?
A:Borland Delphi 8.0 (2005) and Borland C# Builder 1.0 have bug and they accept ActiveX controls only if US locale is used. Other locales are ignored.
Here are steps which help to solve this problem:
1. Uninstall the ActiveX controls from the Tools Palette
2. Change to US Locale
3. Reboot
4. Reinstall the ActiveX control to the Tools Palette, and.. voila! It works.
Viktor Zull
Сообщения: 117
Зарегистрирован: 10 ноя 2005, 02:00

Да, этот тот самый случай. И ошибка точно та:
"Failed to add a reference to the ActiveX type library. Ensure that it is properly registered. ...".

Вот только объяснение не совсем понятно:

1. Удалить ActiveX компоненты из палитры компонентов.
2. Изменить US locale. "Us locale" - что нужно изменить?
3. Перезагрузить????
4. Установить ActiveX на палитру компонентов, и все должно заработать.

Ну с первым шагом все ясно. А вот на втором что нужно сделать?
И что имеется ввиду на третьем шаге - перезапустить Delphi или комп перезагрузить?
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Думаю, речь о настройках ОС Regional Options -> reboot computer.
Viktor Zull
Сообщения: 117
Зарегистрирован: 10 ноя 2005, 02:00

Это настройки в реестре?
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Все настройки в конечном счете оказываются в реестре :)
Да нет, все проще: Control Panel>Regional and language options, закладка Regional options, combobox рядом с кнопкой Customize... (так под XP, в др.версиях виды может отличаться). Потом перезагрузить компьютер. Почему это должно помочь - могу только догадываться. ИМХО, баг видимо связан с какими-то настройками, типа десятичного разделителя, формата даты и т.п.
Viktor Zull
Сообщения: 117
Зарегистрирован: 10 ноя 2005, 02:00

Надо же, действительно сработало. Стоило только поменять формат представления даты на Английский(США).

Спасибо Вам, Eugie, что помогли разобраться.
Ответить