Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как внедрить мой объект в таблицу? (число прочтений - 4005 )
Thor
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 82
Зарегистрирован: 12. Июля 2006
Как внедрить мой объект в таблицу?
19. Сентября 2007 :: 08:23
Печать  
Всем привет.

Ув. разработчики внешних компонент, подскажите пожалуйста, как мне добиться появления моего Active Document - объекта в списке "Вставка объекта" (меню Таблица-Вставить рисунок-Объект). Компонента написана на Delphi 5.

Заранее спасибо.
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как внедрить мой объект в таблицу?
Ответ #1 - 19. Сентября 2007 :: 08:41
Печать  
Либо через Меню вставить объект, либо ( copy-paste) :выводишь свою компоненту в стандартном контейнере выделяешь его  жмешь copy переходишь в 1с таблицу жмешь paste
  
Наверх
 
IP записан
 
Thor
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 82
Зарегистрирован: 12. Июля 2006
Re: Как внедрить мой объект в таблицу?
Ответ #2 - 19. Сентября 2007 :: 09:08
Печать  
Z1 писал(а) 19. Сентября 2007 :: 08:41:
Либо через Меню вставить объект, либо ( copy-paste) :выводишь свою компоненту в стандартном контейнере выделяешь его  жмешь copy переходишь в 1с таблицу жмешь paste


Через меню вставить объект не получается, потому что там его нет в списке (см. первый пост). Через копи-пэйст получилось, но уж очень извратно. В MS Word такого объекта списке тоже нет, есть в MS Access. Похоже, что компонента в реестре прописана как ActiveX Control, а не Active Document. Подскажите, как исправить ситуацию. Плачущий
  
Наверх
ICQ  
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как внедрить мой объект в таблицу?
Ответ #3 - 19. Сентября 2007 :: 10:53
Печать  
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Thor
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 82
Зарегистрирован: 12. Июля 2006
Re: Как внедрить мой объект в таблицу?
Ответ #4 - 19. Сентября 2007 :: 10:53
Печать  
Вопрос снят.
Нашел ссылку - Разработка ActiveX Document Servers

Если кому пригодится - можно и обычный ActiveX Control "превратить" в документ. Делается это правками в реестре:
Код
Выбрать все
// добавить
[HKEY_CLASSES_ROOT\CLSID\{clsid объекта}\DocObject]
@="8"
[HKEY_CLASSES_ROOT\CLSID\{clsid объекта}\Insertable]
[HKEY_CLASSES_ROOT\{progid объекта}\DocObject]
[HKEY_CLASSES_ROOT\{progid объекта}\Insertable]
// удалить
[HKEY_CLASSES_ROOT\CLSID\{clsid объекта}\Control] 



Взято из примера по ссылке, может какие-то действия необязательны, не проверял, но текущая комбинация работает точно.

  
Наверх
ICQ  
IP записан
 
Thor
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 82
Зарегистрирован: 12. Июля 2006
Re: Как внедрить мой объект в таблицу?
Ответ #5 - 19. Сентября 2007 :: 11:12
Печать  
steban писал(а) 19. Сентября 2007 :: 10:53:


Уважаемый Степан, скажите, а разве класс "АктивИкс" позволяет размещать ActiveX-контролы в таблице (печатной форме)? В документации однозначно указано:
Цитата:
Класс позволяет размещать на формах 1С:Предприятие элементы управления (далее ЭУ) ActiveX и обрабатывать события, возникающие в ЭУ

Даже если это так, то не понятен механизм инициализации ActiveX-контрола.
  
Наверх
ICQ  
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как внедрить мой объект в таблицу?
Ответ #6 - 19. Сентября 2007 :: 11:48
Печать  
Thor писал(а) 19. Сентября 2007 :: 11:12:
а разве класс "АктивИкс" позволяет размещать ActiveX-контролы в таблице (печатной форме)?

не позволяет.
Если нужно именно в таблице, тады ой.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать