Среда CLR предоставляет объекты COM через прокси-сервер, называемый вызываемой оболочкой среды выполнения (RCW). Хотя RCW кажется обычным объектом для клиентов.NET, его основная функция заключается в маршалинге вызовов между клиентом.NET и COM-объектом.
1 ответ

Был ли COM-объект отделен от своего RCW?

Я пытаюсь исправить проблему с ошибкой "COM-объект, который был отделен от лежащего в его основе RCW, невозможно", и я думаю, что причина в том, что COM-объекты используются в потоке, который их не создавал. Мне не разрешают много заниматься рефакто…
05 апр '11 в 11:44
1 ответ

"Option Strict On запрещает неявные преобразования" непоследовательное применение

Конфигурация 1: создание надстроек ESRI для ArcMap 10.4 с использованием Visual Studio 2015 для платформы.NET 4.5.2 конфигурация 2: создание надстроек ESRI для ArcMap 10.3 с использованием Visual Studio 2013 для платформы.NET 3.5 конфигурация 3: соз…
19 авг '16 в 20:53
1 ответ

Почему это вызывает исключение InvalidClassCast?

По определенным причинам я должен предоставить вручную написанные вызываемые оболочки во время выполнения для ряда COM-компонентов, предлагаемых моим магазином. Это определение интерфейса для компонента A: [ComImport, Guid("02922621-2EAE-4442-8A0A-C…
04 фев '15 в 18:08
1 ответ

C++ - COM-объект, который был отделен от базового RCW, не может быть использован

Моя проблема - сообщение об ошибке в заголовке: COM object that has been separated from its underlying RCW cannot be used. Я пытался Google, но я мог найти только решения, связанные с деструкторами / освобождение объектов. Это не то, что я хочу сдел…
28 дек '12 в 03:04
2 ответа

Нарушение прав доступа к финализатору RCW

Я использую COM-взаимодействие для создания управляемого плагина в неуправляемом приложении с использованием VS2012/.NET 4.5/Win8.1. Кажется, что все взаимодействие происходит нормально, но когда я закрываю приложение, я получаю исключение MDA, сооб…
0 ответов

Найдите офисный COM-объект и отпустите его правильно

Я использую приложение, которое выполняет автоматизацию Word и Excel, но не высвобождает объекты COM должным образом. У меня нет доступа к исходному коду, поэтому я бы хотел сам выпустить COM-объекты в службе Windows. Могу ли я определить, что объек…
26 июл '18 в 08:03
0 ответов

Как сделать так, чтобы сборщик мусора очищал объекты RCW, связанные с COM-сервером out-proc?

У меня есть 64-битный процесс.NET, который работает в течение нескольких дней. Процесс использует собственный 32-битный COM-сервер с использованием DCOM. Время от времени серверу COM не хватает памяти, потому что сборщик мусора процесса.NET видит то…
28 апр '15 в 14:11
1 ответ

Как получить LINQPad для Dump() System.__ComObject ссылки?

Я играю с использованием LINQPad для быстрой разработки небольших приложений ArcObjects (библиотека на основе COM для программного обеспечения ESRI ArcGIS) и добился определенного успеха в его использовании для Dump() свойства COM-объектов, которые …
05 фев '13 в 21:05
1 ответ

Почему сгенерированная оболочка для типа свойства выбирает этот интерфейс?

Когда я запрашиваю Visual Studio генерировать вызываемые оболочки во время выполнения для моих COM-компонентов, он выбирает странный тип для переноса определенного свойства интерфейса. Это обобщенная библиотека типов для компонента A: // Generated .…
04 фев '15 в 19:43
1 ответ

.NET Native и RCW накладные расходы

Мне интересно, как работает.NET Native. Обычно при использовании классов WinRT в управляемом коде они вызываются через RCW, что влечет за собой некоторые накладные расходы из-за взаимодействия между управляемым и неуправляемым кодом. Интересно, есть…
17 авг '17 в 21:26
2 ответа

Как избежать гонки на очистке RCW

У меня есть приложение графического интерфейса, которое периодически показывает загрузку процессора. Загрузка читается классом StateReader: public class StateReader { ManagementObjectSearcher searcher; public StateReader() { ManagementScope scope = …
07 мар '12 в 10:16
1 ответ

Класс Callable Wrapper во время выполнения не зарегистрирован

У меня есть dll под названием srxCOM.dll для Titan-FTP, эта DLL была сделана для VB6. Я хочу использовать dll в Visual Studio .NET, поэтому я создал вызываемую оболочку во время выполнения с помощью tblimp и назвал ее srxCOMnet.dll. Я добавил DLL в …
17 янв '18 в 17:12
5 ответов

RCW и подсчет ссылок при использовании COM-взаимодействия в C#

У меня есть приложение, которое использует сборки взаимодействия Office. Мне известно о "Runtime Callable Wrapper (RCW)", управляемом средой выполнения. Но я не очень уверен, как счетчик ссылок увеличивается. MSDN говорит, RCW сохраняет только одну …
04 янв '11 в 08:15
2 ответа

COM-исключения при выходе с WPF

После выполнения обоих следующих тестовых случаев выполнение COM выводится на консоль. Что я делаю неправильно? Если я запускаю либо тест по отдельности, либо одновременно запускаю оба теста, исключение записывается в консоль ровно один раз. Это зас…
03 июн '11 в 21:28
2 ответа

Какие обстоятельства кроме "ожидают" позволят прерывать синхронный код

Недавно я обнаружил странную ошибку в моем асинхронном коде. Я вызывал блокирующий метод для COM-элемента управления, который, по-видимому, позволял моим асинхронным продолжениям выполняться во время блокировки. Рассмотрим пример кода (только для ил…
17 июн '15 в 09:32
1 ответ

Должен ли класс-оболочка вызывать COM-компонент через C# для реализации шаблона Dispose?

У меня есть класс, написанный на C#, который действует как оболочка вокруг компонента COM. Компонент COM имеет раннюю привязку, а RCW был сгенерирован Visual Studio. Должен ли я реализовать шаблон dispose в моем классе-обертке для очистки ссылки COM…
13 окт '09 в 09:54
0 ответов

Запуск COM-объекта в выделенном потоке - ошибка RCW

Используя Windows Forms и VB.NET, я пытаюсь создать графический интерфейс приложения, который будет взаимодействовать с объектом ActiveX/COM. Я могу создавать и использовать COM-объект без каких-либо проблем непосредственно из формы или через класс …
12 окт '16 в 00:16
0 ответов

Может ли IActivationFactory возвращать один и тот же экземпляр несколько раз?

Изучая WinRT, я провел эксперимент с синглетонами: самостоятельно внедрив IActivationFactory, я могу создать синглтон "на уровне ABI". Фабрика просто возвращает один и тот же экземпляр каждый раз. В любом случае, любой вызов RoActivateInstance для м…
13 авг '14 в 08:47
1 ответ

Есть ли способ справиться, когда COM-объект отключен от RCW?

Есть ли способ запустить код, когда COM-объект собирается отключиться от RCW без реализации интерфейса IDisposale и явного вызова MyObject.Dispose в клиентском коде? Код ниже не работает. Когда программа входит в Finalize sub, приложение ExcelApplic…
15 фев '12 в 23:10
1 ответ

Тип 'COMSVCSLib.ObjectControl' определен в сборке, на которую нет ссылок

У меня есть две сборки VB 6 (DLL). ProgramA.dll и ProgramB.dll, которые мне нужно добавить в качестве ссылки в моем.NET Web Service (версия 2.0). Эти две библиотеки были переданы мне разными разработчиками. Один разработчик дал мне просто ProgramA.d…
07 май '13 в 06:06