![]() |
|
Другие темы раздела | |
При перекомпиляции сервера перекомпилируется клиент, а что, собственно в этом плохого? C/C++ Друзья! Начинаем цикл вопросов про COM- Объекты. Первый вопрос возник по статье Безверхова, вот здесь статья. Вот там такой пример: //myobj.cpp - реализация методов объекта сервера #include... Учитывая, что myclient.cpp содержит включение myobj.h, то очевидно, что при изменении myobj.h нужно пересобрать myclient.cpp.Нет. Вот я вам привёл пример. Если вы измените хидер и не тронете... |
C/C++ Word automation + Windows server 2008 R2 = тормоза(очень сильные тормоза) Здравствуйте! Есть код, написанный правда на делфи, который экспортирует содержимое ТХТ файла в DOS кодировке в WORD. Попутно, если это необходимо, в экпортируемый текст вставляется штрих код для... если есть код - запустить в режиме отладки и поглядеть где место с тормозами https://www.cyberforum.ru/ c-cpp/ thread826744.html |
C/C++ Транслируются ли аргументы функции CoCreateInstance в аргументы функции DllGetClassObject? НУ то есть я думаю должно быть понятно, о чём речь. В клиенте вызывается функция: CoCreateInstance ( REFCLSID, аргумент__2, аргумент__3 REFIID, void** ); Чё, никто не задумывался над этим что ли? Короче, я делаю вывод, что это просто-напросто ошибка автора. Ещё раз: аргументы CoCreateInstance НЕ ТРАСЛИРУЮТСЯ в аргументы DllGetClassObject (чего не... |
Можно ли компилятором gcc создать COM объекты, сервер, в частности? C/C++ По-моему, нет. Ведь в сервере среди всего прочего надо реализовывать метод объекта QueryInterface. Он может запросто принять первым параметром IID_IUnknown, но он нигде не определён, вот в чём дело!... это-то я вижу, цифры-то где? Нету цифр, не только в этом файле, но вообще ни в одном из хидеров. |
Узнать имя компонента, реализующего интерфейс и имя категории, в которую этот интерфейс входит C/C++ Темы очень близки. Поэтому два в одном решил сделать. Вот я взял у Роджерсона код: HRESULT hr = ::CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, ... Для порядку. Есть интерфейс такой-то, надо узнать какой компонент его реализует. Или что, самому писать реализацию методов? Так может вообще всё самому написать? Все функции, все программы...? Вот... |
C/C++ Оставить после выполнения программы книгу Excel открытой
https://www.cyberforum.ru/ c-cpp/ thread820341.html Здравствуйте! Я создаю Ole объект: Application=CreateOleObject("Excel.Application"); Открываю книгу Excel, используя OleProcedure: Books = Application.OlePropertyGet("Workbooks");... То есть, то, что открытая книга требует работающего процесса - понятно? Вот и выбирай, либо процессы не накапливаются (но тогда и книг нет), либо остается плюс один процесс к тому, что было до... |
C/C++ Переслать событие в контрол
https://www.cyberforum.ru/ c-cpp/ thread827622.html Существует класс class CFlashWnd: public IDispatch{} В нем с помощью CreateWindow создается окно и в него аттачиться контрол для FlashPlayer. Как мне переслать событие mosemove в контрол flash... оно не добирается чудес не бывает. события обрабатывают окна. может не в то окно шлете? |
C/C++ Вызов метода из ВнешнейКомпоненты 1с в обход механизма ILanguageExtender Приветствую! Подскажите, можно ли из 1с вызвать метод ВнешнейКомпоненты, который реализован не через механизмы интерфейса ILanguageExtender, а через интерфейс типа IDispatch? Если да, то каким... https://www.cyberforum.ru/ c-cpp/ thread819211.html |
C/C++ Вывод в word
https://www.cyberforum.ru/ c-cpp/ thread799916.html Помогите пожалуйста каким-нибудь простым кодом, чтобы проверить возможность вывода данных в word. У меня стоит Embarcadero C++Builder XE3 и MS Office 2010 приблизительно (может где ошибся с именами и может быть нужно строки передавать через L или WideString) Variant app = CreateOleObject("Word.Application"); Variant docs =... |
C/C++ Вывод списка категорий интерфейсов не соответствует тому, что показывает утилита OleView, почему? Вот код, за основу взят код Роджерсона из его главы 6, я всё поупрощал донельзя, все проверки поубирал: #include <stdio.h> #include <stdlib.h> #include <iostream> #include <comcat.h> using... Посмотрел HKEY_CLASSES_ROOT\Component Categories, этот раздел полностью соответствует моему выводу. То есть помимо всего прочего там присутствуют две категории: _Printable Objects Никаких таких... https://www.cyberforum.ru/ c-cpp/ thread827594.html |
C/C++ При регистрации COM объета ось не может найти точку входа в DllRegisterServer Почему? Воот dll: //comreg.cpp //Тут если чё прототип STDAPI DllRegisterServer(void) //если закомменчу, то тот же эффект #include <olectl.h> STDAPI DllRegisterServer(){ |
C/C++ Работа с таблицами Excel
https://www.cyberforum.ru/ c-cpp/ thread822803.html есть вот такая таблица https://docs.google.com/spreadsheet/lv?key=0AsDL8HE-bGDVdFFVWlIzbzQ5RFJJZGFyQ25xZmFYa0E&toomany=true#gid=12 надо как-то автоматически загнать значения из таблицы в... просто для примера (Borland C++ Builder) Variant app = CreateOleObject("Excel.Application"); Variant wbs = app.OlePropertyGet("Workbooks"); Variant wb = wbs.OleFunction("Open",... |
Модератор
![]() 3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,429
|
|
05.04.2013, 13:14 | 0 |
Как узнать, какие интерфейсы принадлежат данной категории? - C/C++ - Ответ 436488705.04.2013, 13:14. Показов 2300. Ответов 15
Метки (Все метки)
Ответ
этот подход базируется на формальном соглашении. категория - это закрепленная в документации условность, это соглашение о том, что объекты принадлежащие некой категории выполняют сходные задачи. причем это не подразумевает, что эти объекты обязательно реализуют некую группу интерфейсов. например, в стандарте OPC DA 2.0 некоторые интерфейсы помечены как опция. то есть разработчик сам решает будет ли его сервер поддерживать этот интерфейс. и тем не менее объект включается в категорию CATID_OPCDAServer20. таким образом, в этой категории будут объекты поддерживающие группу интерфейсов помеченных в БУМАЖНОЙ документации как обязательные и, возможно, еще некоторые интерфейсы (у каждого объекта свои, но в пределах БУМАЖНОГО стандарта OPC DA 2.0) которые являются опцией. кроме того, объекты могут поддерживать вообще какие-то левые интерфейсы для своего удовольствия. а еще, они могут не соответствовать БУМАЖНОМУ стандарту и не поддерживать какие-то из обязательных интерфейсов. не существует механизма проверки действительно ли объекту назначена корректная категория - категория это чистая условность. я могу зарегистрировать объект в любой категории даже если он не соответствует требованиям закрепленным в БУМАЖКАХ описывающих объекты включаемые в эти категории. по всем перечисленным причинам нет смысла и способа выяснить какие интерфейсы вошли в категорию.
--- а теперь ложка ужаса. как oleview узнает какие у моего объекта интерфейсы? никак. он не может узнать этого никак. чудес не бывает. поэтому он запрашивает ВСЕ УСТАНОВЛЕННЫЕ В СИСТЕМЕ интерфейсы у моего несчастного объекта. те интерфейсы на которые мой объект вернул "добро" oleview помещает в свое дерево. в лог файл ушло 15 448 запросов о выдаче указателя на интерфейс. вот такой вот стресс-тест на ровном месте. а вы говорите слишком затяжное мероприятие ![]() Добавлено через 4 минуты ...причем если бы я не регистрировал библиотеку типов (а как еще по другому запись об интерфейсе попала в реестр?) - ну, вот, монстр я - сам реализовал маршалинг или не нуждался в нем вовсе по причине того что объект реализован в DLL - oleview тупо не нашел бы моих интерфейсов. а они бы были ![]() Вернуться к обсуждению: Как узнать, какие интерфейсы принадлежат данной категории? C/C++
0
|
05.04.2013, 13:14 | |
Готовые ответы и решения:
15
|
05.04.2013, 13:14 | |
Помогаю со студенческими работами здесь
0
Через какие интерфейсы сделать свой DataSource?
Какие интерфейсы и методы должен реализовывать любой класс?
|
Новые блоги и статьи
![]() |
||||
Protobuf в Go и новый Opaque API
golander 15.03.2025
Распределенные системы опираются на эффективные протоколы обмена данными — о чем вы, скорее всего, прекрасно знаете, если работаете с микросервисной архитектурой. Protocol Buffers (Protobuf) от. . .
|
Преобразование строк в C++: std::from_chars от C++17 до C++26
NullReferenced 15.03.2025
Конвертация строк в числа — задача, с которой сталкивается практически каждый C++ разработчик. Несмотря на кажущуюся простоту, эта операция таит множество подводных камней и неочевидных последствий. . .
|
Управление памятью в Java и новые сборщики мусора
Javaican 15.03.2025
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора. . .
|
Angular или Svelte - что выбрать?
Reangularity 15.03.2025
Во фронтенд-разработке Angular и Svelte представляют собой два совершенно разных подхода к решению схожих задач. Один — полноценный, мощный монолит с корпоративной поддержкой, другой — компактный,. . .
|
Spring Cloud микросервисы: обнаружение и отслеживание
Javaican 15.03.2025
В разработке корпоративных приложений всё больше команд обращают внимание на микросервисную архитектуру. Но с этой архитектурой приходят и специфичные трудности: как сервисам находить друг друга в. . .
|
Запуск контейнера Docker в облаке
Mr. Docker 15.03.2025
Что такое Docker-контейнер? Если коротко — это легковесный, автономный пакет, содержащий всё необходимое для запуска приложения: код, зависимости, библиотеки и конфигурации. Когда мы говорим о. . .
|
Осваиваем Kubernetes: Подробная шпаргалка
Mr. Docker 15.03.2025
Kubernetes — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Он был создан для решения проблем, с которыми сталкиваются. . .
|
Лучшие PHP REST API фреймворки
Jason-Webb 15.03.2025
Современные PHP REST API фреймворки предлагают большой набор функциональности: от автоматической валидации данных и управления маршрутизацией до генерации документации и интеграции с различными. . .
|
Многопоточность в Java с Project Loom: виртуальные или обычные потоки
Javaican 15.03.2025
Многопоточность всегда была одноим из основных элементов в разработке современного программного обеспечения. Она позволяет приложениям обрабатывать несколько задач одновременно, что критично для. . .
|
Что нового в Swift 6 и особенности миграции
mobDevWorks 15.03.2025
Swift 6 — это новый крупный релиз языка программирования от Apple, анонсированный на WWDC 2024. Если вы следили за эволюцией Swift, то наверняка заметили, что многие значимые возможности, которые. . .
|