Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как заставить работать ActiveX с помощью API? Диалог с ActiveX Control не загружается 
:(
    Опции темы
Allest
Дата 28.3.2003, 22:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Создал диалог,
в него добавил контрольчик с помощью пункта "Insert ActiveX Control" контекстного меню

А в программе диалог с ним не загружается.

Я делаю что-то не так?

помогите
  Вверх
Step
Дата 29.3.2003, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вообще это странно, у меня такое бывает только тогда когда я добавил, а потом снес сам активх.

ты его инициализируеш в проге или нет?


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 29.3.2003, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



В проекте включена поддержка Automation?
PM ICQ   Вверх
Allest
Дата 30.3.2003, 05:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











проект пишу с использованием только API

А как его инициализировать?

А что такое поддержка Automation?
  Вверх
DENNN
Дата 30.3.2003, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Этот значит что в проекте по меншей мере есть вызовы CoInitialize(NULL) и CoUninitialize( ) smile.gif
PM ICQ   Вверх
Step
Дата 30.3.2003, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Этот значит что в проекте по меншей мере есть вызовы CoInitialize(NULL) и CoUninitialize( ) 
во, точно


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Allest
Дата 31.3.2003, 03:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











CoInitialize(NULL) не помогает...

В MFC для этого есть функция AfxEnableControlContainer();
но чтобы ее применять приходится библиотеки MFC использовать, что мне не нравится

Подскажите как обойтись средствами API?
  Вверх
DENNN
Дата 31.3.2003, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Необходимо инициализировать поддержку COM в запущенном экземпляре приложения. Если ты принципиально не хочешь использовать MFC то тогда надо пользовать ATL. Либо кучу кода писать руками smile.gif
PM ICQ   Вверх
Allest
Дата 31.3.2003, 04:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А как использовать ATL?

  Вверх
DENNN
Дата 31.3.2003, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Спроси Step'а. Ему недавно проект скинули - может поделится biggrin.gif hehe.gif biggrin.gif

Это сообщение отредактировал(а) DENNN - 31.3.2003, 04:22
PM ICQ   Вверх
DENNN
Дата 31.3.2003, 04:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



А вообще внимательно другие топики почитай.....

Это сообщение отредактировал(а) DENNN - 31.3.2003, 04:34
PM ICQ   Вверх
Allest
Дата 31.3.2003, 04:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Спроси Step'а. Ему недавно проект скинули - может поделится


Step, может поможешь? пожалуйста...

  Вверх
Step
Дата 31.3.2003, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Спроси Step'а. Ему недавно проект скинули - может поделится   
во приколист, ну ладно, я все равно рано или позно разберусь


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 31.3.2003, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Step, может поможешь? пожалуйста...
помогу когда разбирусь


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 31.3.2003, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
во приколист

Просто за последнюю неделю этот вопрос - хит сезона
PM ICQ   Вверх
Step
Дата 31.3.2003, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Просто за последнюю неделю этот вопрос - хит сезона
это у нас с тобой хит, а многие знающие просто забили мне помагать


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Allest
Дата 2.4.2003, 17:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Люди киньте мне пример как работать с контрольчиком ActiveX без использования MFC.
Или ссылки, которые могли бы помочь.
Пожалста.

[email protected]

P.S. Step спасибо за исходники, тоже пригодится
  Вверх
Allest
Дата 2.4.2003, 17:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











На всякий случай уточняю: мне нужно использовать готовый ActiveX, сделать для него клиента, а не создавать новый.
  Вверх
Step
Дата 2.4.2003, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вот сюда зайди http://www.firststeps.ru/
может и ответ найдеш


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 2.4.2003, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Step Он чочет именно чистым API без каких либо библиотек MFC, OWL и т.п.
Это в общем случае значит, что ему необходимо выяснить GUID своего элемента. Проинициализировать COM.
Получить указатель на интерфейс фабрики коклассов. Затребовать экземпляр кокласса. Подсоединить его к своему процессу и направить поток сообщений через него, чтоб дать возможность элементу реагировать на сообщения виндов. Потом ему предстоит получить указатель на интерфес (или несколько) этого элемента и через него вызывать методы элемента. И после окончания работы необходимо все грамонтно уничтожить и освободить все полученные указатели на интерфейсы.
firststeps.ru ИМХО не тот уровень. Там именно первые шаги.

Allest. Если знаешь MFC, то лучше воспользуйся ее услугами. Библиотеки для того и созданны чтоб сгимать рутинную часть работы. А API функции можешь вызвать когда тебе это удобно. Если конечно это действительно будет нужно, а не для того чтоб свою крутизну показать smile.gif
PM ICQ   Вверх
Step
Дата 2.4.2003, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Step Он чочет именно чистым API без каких либо библиотек MFC, OWL и т.п.
там есть раздел под апиDENNN
Цитата
Это в общем случае значит, что ему необходимо выяснить GUID своего элемента.
это мне и так понятно


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 2.4.2003, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
там есть раздел под апи

Посмотрел. Что-то я под апи ACTIVEX не заметил. А ему нужно именно ActiveX.
PM ICQ   Вверх
Step
Дата 2.4.2003, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Посмотрел. Что-то я под апи ACTIVEX не заметил. А ему нужно именно ActiveX.
я ж посоветовал посмотреть и сказал
Цитата
может и ответ найдеш
, я сам не смотрел, я просто знаю что там много интересного и полезного


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Fantasist
Дата 2.4.2003, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата
Получить указатель на интерфейс фабрики коклассов. Затребовать экземпляр кокласса. Подсоединить его к своему процессу и направить поток сообщений через него, чтоб дать возможность элементу реагировать на сообщения виндов


CoCreateInstance с этим вполне справиться, а GUID можно узнать по ProgID. Грамотно освободить интерфейсы тоже не проблема, если соблюдать предельную аккуратность. Однако не это самое страшное - если это действительно визуальный ActiveX control (называемый так же OCX), то придется реализовать OLE container, то есть класс который будет поддерживать все интерфейсы контейнера(все я их не помню) и, по видимому, будет являтся и windows окном. За эту задачу я бы взялся с большой неохотой, ну да хорошо ведь, что готовые классы есть. smile.gif


--------------------
Волны гасят ветер...
PM MAIL   Вверх
DENNN
Дата 2.4.2003, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
CoCreateInstance с этим вполне справиться

Точно! Как я сразу не подумал! sad.gif
PM ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0672 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.