![]() |
|
Другие темы раздела | |
C/C++ Программа печатает количество абзацев и количество символов в каждом абзаце MS Word Текст задачи такой: Программа открывает файл MS Word который состоит только из текста. Программа печатает количество абзацев в тексте и в каждом абзаце считает количество символов. Может уже была... https://www.cyberforum.ru/ c-cpp/ thread2644502.html | C/C++ VARENUM to String Чёт запутался. Согласно мелкософтовому сайту Имеем "сплошной", без разрывов enum: typedef enum VARENUM { VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4, Я так и понял. Уже накопипастил switch - т.к. не охота в некоторых файлах/функциях привязываться к борландовским либам... Получилось это: std::wstring getVTypeString(enum VARENUM type) { ... https://www.cyberforum.ru/ c-cpp/ thread2672432.html |
C/C++ ATL: Как вызывать события ConnectionPoint
https://www.cyberforum.ru/ c-cpp/ thread2677363.html Желаю не болеть коронавирусом всем! Создал ATL проект в VS, создал SimpleObject (рисовать COM-сервер ничего не должен, только предоставлять клиенту объекты и позволять навешивать свои обработчики... Сам нашёл как сделать. https://www.codeproject.com/Articles/173906/Practical-ATL-Connection-Point-and-Two-Approaches http://www.369o.com/data/books/atl/0321159624/ch09lev1sec2.html |
C/C++ Отследить события Excel C++
https://www.cyberforum.ru/ c-cpp/ thread2686153.html Мое почтение, джентльмены. Стоит задача отследить события: открытия нового файла, сохранения файла (до/после) в Excel. Пока в этом не спец. Собрал код из разных источников сети. В Word... Здесь пишут, что бывают проблемы со счетчиком ссылок в #import. Что посоветуете по отслеживанию события сохранения в Excel? |
Как получить\передать методу нужный тип данных? C/C++ В стороннем приложении есть метод(get/put) из которого получаю данные которые никак не получается обработать. На картинки вверху описание того что получаю из стороннего метода. Внизу то что я... inline void Libra::TextItem::PutPosition ( const _variant_t & _arg1 ) { _com_dispatch_method(this, 0x4f72676e, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, L"\x000c", &_arg1); } inline... |
C/C++ Ищу SDK голосового движка L&H TTS3000 Сабж, ищу именно сдк данного движка (сам синтезатор найти не проблема). Файлы включения, примеры, документацию и пр. Продукт старый, выпущен еще в конце девяностых, шансов найти мало (интернет уже... |
C/C++ Можно ли менять шрифты в Word-е с помощью программы, написанной на С++?
https://www.cyberforum.ru/ c-cpp/ thread2653498.html Подскажите пожалуйста, можно ли как-то менять шрифты в ворде с помощью программы написанной на С++ и если можно, то как это реализовать? Чужбовский Илья, сделайте все что требуется при помощи записи макроса, откройте макрос и перепишите инструкции на аналог в C++ |
C/C++ Хочу разобраться с ActiveX Всех приветствую! Хочу разобраться в этой технологий, поэтому прошу совета с чего начать изучение и быть может вы посоветуете книги или уроки по изучению. ActiveX по шагам Элементы управления на базе ActiveX Добавлено через 5 минут P.S. по COM я начинала отсюда (How To Do COM In C++Builder 5)... и отсюда (Роджерсон Д. - Основы COM - 2000_pdf)...... https://www.cyberforum.ru/ c-cpp/ thread2635025.html |
C/C++ Правильное использование CoInitializeEx() и CoUninitialize()
https://www.cyberforum.ru/ c-cpp/ thread2660540.html Суть в том, что пишу либу (для себя - изучить, а если понравится, то пересяду на неё из дельфёвских древних и стороних компонент) - интерфейс ко многим связанным UUID. Пока однопоток, но т.к. эта... А вдруг главная прога и не думала с COM работать? Да мне не про каждый поток, а про повторный вызов CoInitializeE, с возможно не согласующимся параметром главного процесса... Я то же так думал,... |
C/C++ Как выгрузить ранее заинжекченную длл?
https://www.cyberforum.ru/ c-cpp/ thread2695285.html Использую дефолтный метод инжекта - LL. Так как эту дллку видно через process hacker, мне надо сделать так, чтобы можно было выгрузить эту дллку в случае необходимости. Код инжекта ниже wHandle... |
C/C++ Как организовать данные в DataGridView
https://www.cyberforum.ru/ c-cpp/ thread2638733.html Здравствуйте! У меня есть две таблицы , расходы и доходы, я вывожу информацию их в один dataGridView через запрос. Мне нужно выполнить такие задачи: 1. Чтобы перед суммой расход становился знак... Вам надо на украинский ресурс, тут только по-русски и английски. |
C/C++ Как открыть файл Excel (sdkxll)?
https://www.cyberforum.ru/ c-cpp/ thread2693194.html Добрый день. Может ли кто подсказать как открыть файл Excel при помощи функций Microsoft sdk xll? Пользуюсь своей xll, но пока не пойму, чем это вам поможет. Если будите писать свои UDF, то да профит будет. Возможно вы копируете формулы, и они вычисляются. Что у вас после ".PasteSpecial"?... |
2715 / 869 / 328
Регистрация: 10.02.2018
Сообщений: 2,054
|
|
10.09.2020, 22:43 | 0 |
Что делает CoLockObjectExternal? - C/C++ - Ответ 1483202010.09.2020, 22:43. Показов 39053. Ответов 23
Метки (Все метки)
Ответ
Те COM-ы, с которыми я имел дело, всегда делались в виде DLL (или AX, что по структуре идентично, отличие только в расширении). Такая DLL имеет несколько стандартных точек входа, которые используются для создания лежащих в ней COM-объектов.
В реестре прописаны секции с именем равным GUID COM-объектов. В каждой такой секции лежит имя dll-файла, в котором лежит реализация данного COM-объекта. Когда пользовательская программа вызывает CoCreateInstance(<нужный GUID>) для создания объекта локально, то выполняется поиск GUID-а по реестру компа. Найдя GUID определяется имя его DLL. Данная DLL подгружается в пользовательский процесс и через стандартные точки входа создаётся новый объект. Если же объект создаётся не локально, то процесс совсем иной. Локально создаётся прокси нужного объекта, а на сервер отсылается запрос создания объекта. Сервер запускает суррогатный процесс dllhost.exe (возможно какой-то другой, точно не знаю, но пусть будет как-то так) и передаёт ему как-то (например, в командной строке) GUID объекта и информацию о клиенте. Суррогатный процесс создаёт нужный COM-объект локально в себя (получает интерфейсный указатель), создаёт некую обвязку для удалённой работы с клиентом. Время жизни такого удалённого суррогатного процесса определяется временем жизни клиента. Изначально он имеет только одну ссылку на локальный объект. Один релиз от клиента и он должен удалить свой объект. Больше ему нет смысла жить и процесс завершается обычным образом. Если вы внутри локального серверного объекта сделаете AddRef, то суррогатный процесс об этом ничего не узнает. Таким образом релиз от клиента он расценит как сигнал к завершению работы. То что вы реально не удалили объект, это не его проблемы. Он просто завершится и выгрузит ваш объект из памяти, как обычную утечку памяти. Это моё предположение. Если у вас другое представление о работе удалённых COM-ов, то можете попытаться объяснить как AddRef помешает выгрузке процесса. Вернуться к обсуждению: Что делает CoLockObjectExternal? C/C++
0
|
10.09.2020, 22:43 | |
Готовые ответы и решения:
23
Не могу понять на что способен sort, и что делает его компаратор Что в программе делает так, что процессор грузится на 100%? Я не могу понять что делает данная программа. Точнее что делают функции используемые в это коде |
10.09.2020, 22:43 | |
Помогаю со студенческими работами здесь
0
что такое super.onCreate(savedInstanceState);? что оно делает? Какова вероятность того, что родители увидят, что сын делает уроки
|
Новые блоги и статьи
![]() |
||||
Ключевые слова Python
hw_wired 15.02.2025
Ключевые слова в Python - это специальные зарезервированные слова, которые имеют особое значение и функции в языке. В настоящее время Python включает 35 ключевых слов и 4 мягких ключевых слова. Эти. . .
|
Отличия изменяемых и неизменяемых типов в Python
hw_wired 15.02.2025
В Python существует принципиальное различие между изменяемыми (mutable) и неизменяемыми (immutable) типами данных, которое оказывает существенное влияние на работу программ. Это различие часто. . .
|
Python: сравнение списков и кортежей
hw_wired 15.02.2025
В Python последовательности являются одними из самых важных и часто используемых типов данных. Они позволяют хранить упорядоченные наборы элементов, к которым можно обращаться по индексу. Среди всех. . .
|
Как скачивать файлы с URL с помощью Python
hw_wired 15.02.2025
Для скачивания файлов Python предлагает как встроенные средства, так и сторонние библиотеки. Встроенный модуль urllib из стандартной библиотеки обеспечивает базовую функциональность для работы с URL. . .
|
Использование SQLAlchemy в Python
hw_wired 15.02.2025
SQLAlchemy - мощная библиотека для работы с базами данных в Python, которая предоставляет полноценный набор средств для объектно-реляционного отображения (ORM) и обширные возможности для работы с. . .
|
Взаимодействие с REST API в Python
hw_wired 15.02.2025
В современном мире разработки программного обеспечения REST API стал неотъемлемой частью архитектуры веб-приложений. API (Application Programming Interface) - это набор правил и протоколов,. . .
|
Разделение строк в Python
hw_wired 15.02.2025
Python предлагает богатый набор возможностей для работы со строками, и среди них разделение строк занимает особое место. Этот процесс позволяет разбивать текст на отдельные компоненты, что критично. . .
|
Объединение строк в Python
hw_wired 15.02.2025
При работе с текстовыми данными в Python нередко возникает необходимость объединять несколько строк в одну. Это может потребоваться при форматировании вывода, обработке текстовых файлов или создании. . .
|
Лучшие игровые движки на Python
hw_wired 15.02.2025
В последнее время разработка игр стала одним из самых популярных направлений программирования, и Python не остался в стороне от этого тренда. Несмотря на то, что Python обычно не ассоциируется с. . .
|
Декоратор jit в Python
hw_wired 15.02.2025
Если вы достаточно долго изучаете программы и пакеты на Python для машинного обучения, то наверняка замечали, что паттерн "JIT-декоратор" довольно популярен. Этот подход позволяет превратить обычные. . .
|