OLE сервер

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

OLE сервер

Сообщение Alec » 31.08.2008 (Вс) 0:26

Возможно ли создание OLE сервера на VB6, что бы в итоге получить Insertable object?
Если да, то как?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: OLE сервер

Сообщение Sebas » 31.08.2008 (Вс) 10:52

Речь точно не о ActiveX контроле?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 31.08.2008 (Вс) 14:13

Sebas писал(а):Речь точно не о ActiveX контроле?

Однозначно - нет.
Вкратце - делаю специфический графический векторный редактор. Ножна возможность вставлять объект в Excel, с возможностью редактирования с помощью моего редактора.
Иногда лучше вовремя остановиться...
И начать заново!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: OLE сервер

Сообщение alibek » 01.09.2008 (Пн) 7:15

ActiveX EXE, я полагаю.
Lasciate ogni speranza, voi ch'entrate.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 01.09.2008 (Пн) 20:20

alibek писал(а):ActiveX EXE, я полагаю.

Я тоже предполагаю, что копать надо оттуда...
Только вот в какую сторону...
Иногда лучше вовремя остановиться...
И начать заново!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: OLE сервер

Сообщение alibek » 02.09.2008 (Вт) 7:47

А с чем сложности?
Вот уж в чем, а в VB это сделать проще, чем в других RAD.
Lasciate ogni speranza, voi ch'entrate.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 02.09.2008 (Вт) 19:23

Создать ActiveX - никаких, я думаю, проблем.
Только вот что делать, чтобы созданный объект можно было вставлять в OLE container?
Где какую галочку я просмотрел?
Иногда лучше вовремя остановиться...
И начать заново!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: OLE сервер

Сообщение alibek » 03.09.2008 (Ср) 7:36

Компилируешь, регистрируешь и вставляешь.
А имя объекта (вернее, его ProgId) будет <projectname>.<classname>.
Lasciate ogni speranza, voi ch'entrate.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 03.09.2008 (Ср) 21:10

А можно немного поподробнее...
"Компилируешь, регистрируешь" - это понятно. Что подразумевается под словом "вставляешь"? Мне не нужен класс только как набор методов и свойств. Нужен именно графический оъект, который можно поместить в OLE Container.
Похоже мы говорим о разных вещах...
Где у моего класса будет графический интерфейс - куда мне рисовать?
После компиляции и регистрации - ну нету класса в перечне Insertable objects...
Мне нужно создать специфический графический редактор, который вставляется в лист Excel (через меню "Вставка" - "Объект" Excel'я).
Если нет желания ответить доступно - хотя бы ссылку или пример
Иногда лучше вовремя остановиться...
И начать заново!

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

Re: OLE сервер

Сообщение Viper » 04.09.2008 (Чт) 6:51

Alec писал(а):Мне нужно создать специфический графический редактор, который вставляется в лист Excel (через меню "Вставка" - "Объект" Excel'я).
Создаешь свой "специфический графический редактор" как ActiveX Exe. Далее, после компиляции и регистрации он должен быть доступен для вставки, в том числе и в Excel.
Весь мир матрица, а мы в нем потоки байтов!

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 04.09.2008 (Чт) 23:25

Я так понял, что регистрируется класс, который доступен для использования. А как быть с графической составляющей? Например, в программе рисую в PictureBox на форме. Как сделать, чтобы то, что я отображаю в PictureBox, можно было отображать в контейнере клиента?
Можно хотя бы простой пример, именно с графической формой?
Иногда лучше вовремя остановиться...
И начать заново!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: OLE сервер

Сообщение alibek » 05.09.2008 (Пт) 8:57

Хм... Никогда не было нужно.
Предположу, что тебе нужно добавить в проект User Document.
Lasciate ogni speranza, voi ch'entrate.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 05.09.2008 (Пт) 20:10

alibek писал(а):Хм... Никогда не было нужно.
Предположу, что тебе нужно добавить в проект User Document.

О! Что-то новое...
Идея неплохая, только вот незадача - не регистрируется UserDocument как Insertable... Ручное добавление в реестр раздела "Insertable" (в HKCR-Project1.UserDocument1) позволяет увидеть объект в списке всавляемых в Excel, но выдает ошибку "Ошибка запуска исходного приложения для обработки объекта". Как теперь с этим бороться?
И, если это победимо, сразу другой вопрос - неужели "Insertable" нужно будет прописывать вручную?
Иногда лучше вовремя остановиться...
И начать заново!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: OLE сервер

Сообщение Antonariy » 07.09.2008 (Вс) 16:49

UserDocument это примочка к IE типа ActiveX контрола. Только этот "контрол" не вставляется в страницу, а сам является страницей. При компиляции exe создается файл UserDocument1.vbd, он открывается с помощью IE.
Так и не понял, зачем это нужно.
Лучший способ понять что-то самому — объяснить это другому.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 07.09.2008 (Вс) 20:09

Antonariy писал(а):Так и не понял, зачем это нужно.

То-то и оно...
Попробовал создать ActiveX Control, создал ручками в реестре параметр Insertable, в итоге смог увидеть контрол в Insertable objects...
Только вот настолько оно все криво работает - на экране одно, на печати другое, плюс изменить размеры контрола на листе Excel можно только переходя на режим конструктора, что для конечного пользователя нежелательно...
Поиски продолжаются...
Пока кроме того, что это "можно сделать" и "в VB это сделать проще всего" ничего не нашел - какая-то закрытая тема получается... :(
Иногда лучше вовремя остановиться...
И начать заново!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: OLE сервер

Сообщение Antonariy » 12.09.2008 (Пт) 16:44

Между прочим, что мешает почитать MSDN на предмет OLE Server? Там даже есть два примера на MFC — HIERSVR и BINDSCRB.
Лучший способ понять что-то самому — объяснить это другому.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 12.09.2008 (Пт) 19:51

Antonariy писал(а):Между прочим, что мешает почитать MSDN на предмет OLE Server? Там даже есть два примера на MFC — HIERSVR и BINDSCRB.

Угу, осталось дело за малым - прикрутить эту MFC к VB...
Иногда лучше вовремя остановиться...
И начать заново!

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

Re: OLE сервер

Сообщение Viper » 13.09.2008 (Сб) 5:51

Alec писал(а):
Antonariy писал(а):Между прочим, что мешает почитать MSDN на предмет OLE Server? Там даже есть два примера на MFC — HIERSVR и BINDSCRB.

Угу, осталось дело за малым - прикрутить эту MFC к VB...
Ага! А заодно и весь С++ прикрутить к VB. Не надо ничего прикручивать, надо просто вдумчиво разобрать пример.
Весь мир матрица, а мы в нем потоки байтов!

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: OLE сервер

Сообщение Alec » 13.09.2008 (Сб) 10:29

Viper писал(а):надо просто вдумчиво разобрать пример.

Что ж, будем разбирать...
Заодно и посмотрю на C++...Может что и пойму... :shock:
Иногда лучше вовремя остановиться...
И начать заново!


Вернуться в Раздел для Профессионалов

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

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

    TopList