Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Беда с работой собственного контрола в Word'e Добавлено: 01.03.04 21:48  

Автор вопроса:  Evgeni | ICQ: 14051980 

Доброго времени суток. Вопрос. Сижу над ним 1,5 дня (ответ наверняка очевиден).

Попытался создать свой первый ActiveX Control. Написал, методы, свойства. При создании группы с его участием все работает на ура (рисует штрих-код и сохраняет на диске в виде bmp-файла.) Откомпилял. При подключении в новый VB-проект опять все работает. Но писался контрол для Word'а (в котором Picturebox'a нет). Так вот именно в Word'e выдается ошибка (при попытке обратится к свойству контрола) "Class does noot support Automation or does not support expected Interface". Вначале контрол создавался вручную. Потом я запустил мастер, создал свойства, которые уже были и перенес начинку из своих в созданные мастером процедуры (свойства). Заработало. Откомпилировал и в Word'e работает. Но как только чего-нибудь меняешь (процедуру добавишь, или обратишься к свойству контрола), опять та же х@рня. Опять создаешь новый контрол мастером и теми же названиями для свойств, переносишь код, и опять работает до первой правки.

ГДЕ ГРАБЛИ?????????????????????????

Может надо обязательно какие-то свойства определять для контрола? там типа font, backcolor и т.д.?

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 Evgeni



ICQ: 14051980 

Вопросов: 3
Ответов: 11
 Профиль | | #1 Добавлено: 04.03.04 11:48

Решение найдено. Начал с установки обновленной версии драйвера pyku.sys

Если кому интересно: При каждой новой компиляции создается отдельный ID для ocx. Лечится так. После компиляции (а при ней ocx автоматически регистрируется в реестре) запускается редактор реестра (я пользовалмся jvtools) ищутся все ключи с в названии которых присутствует имя вашего проекта контрола. И, понятное дело, удаляются (нет надобности удалять ключи, хранящие ссылки на недовно открываемые файлы). Далее запускаем Word (ну или что там надо) Удаляем с формы ваш контрол. В References убираем галку напротив вашего контрола. Закрываем Word. регистрируем руками (regsvr32 <имя файл контрола>;). Запускаем снова Word. Добавляем ставим в Additional controls галку напротив вашего контрола. Добавляем его на форму и меняем имя на старое. Должно работать.

 Возможно путь можно и сократить :))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам