English version

RSS

Практика

Автор: Игорь Ткачёв
Аннотация: Однажды я занимался проектом, главной особенностью которого было наличие большого количества типовых форм ввода и вывода. Что-то типа делопроизводства. Документы должны были заполняться данными из БД или другими данными, которые может предоставить программа. При этом было бы крайне желательно, чтобы шаблон документа мог разобраться с этими данными самостоятельно. Оказалось, что всем этим требованиям вполне удовлетворяет MS Office. В этой статье я попытаюсь это продемонстрировать.

Ключевые слова:
Автор: Alexey Shirshov
Источник: RSDN Magazine #4-2004
Аннотация: можно в коде MTS/COM+-компонента найти, в каком апартменте он создан, причем для STA – в каком именно STA – host, main или ином, и как-то идентифицировать апартмент

Ключевые слова:
Автор: Oleg Koleskin
Источник: RSDN Magazine #6-2004
Аннотация: Рассматривается пример автоматизации OpenOffice.org Calc.

Ключевые слова: OpenOffice
Авторы: Егор Синькевич
Сергей Холодилов
Источник: RSDN Magazine #4-2004
Аннотация: Статья описывает реализацию синглтона, физически размещаемого в DLL, но уникального в пределах компьютера. Данная реализация позволяет создавать подобные синглтоны в своих проектах изменением одной­единственной строки кода.

Ключевые слова: Singleton, COM
Автор: Игорь Ткачёв
Аннотация: В данной статье приводится объяснение работы директивы #import компилятора Visual C++ и даны примеры её использования с MS Word, MS Excel, ADO DB и ActiveX Control.

Ключевые слова:
Автор: Юнусов Булат
Аннотация: Здравствуйте, Wit, Вы писали:<br /> <span class='lineQuote level1'><br /> Wit&gt;P.S. директиву #import не хочется использовать по причине неоходимости точного указания путей к файлам</span><br /> <br /> Пути к файлам давно можно не указывать:<br /> [ccode]<br /> // msado25.tlb<br /> #import "libid:{00000205-0000-0010-8000-00aa006d2ea4}" auto_rename<br /> <br /> // dao360.dll<br /> #impor...

Ключевые слова:
Автор: Vi2
Аннотация: Здравствуйте, AndyCyborg, Вы писали:<br /> <br /> Я с проблемами с ADO не сталкивался, поэтому и не сразу написал. <img border='0' width='15' height='15' src='../Forum/images/frown.gif' /> <br /> <br /> Итак, IDL файл необходим для определения интерфейсов, что следует из аббревиатуры. Однако он сам используется редко, чаще используется его бинарный эквивалент в виде TLB файла. А также он ...

Ключевые слова:
Автор: Евгений Щербатов
Аннотация: Статья посвящена реализации механизма self-unregistration в СОМ-серверах, созданных на базе библиотеки MFC. Эта возможность, просто необходимая для любого нормального СОМ-сервера, не добавляется в MFC-приложения по умолчанию.

Ключевые слова:
Автор: Сергей Холодилов
Источник: RSDN Magazine #1-2003
Аннотация: Статья описывает технологию использования COM из DLL, загружаемых приложениями, ничего не знающих о COM. Такая ситуация часто возникает в плагинах.

Ключевые слова: COM, DLL
Автор: Vi2
Аннотация: Где-то когда-то встречался вопрос, как из указателя на интерфейс получить указатель на класс, которым этот указатель имплементирован. Сейчас не могу найти где это было, а материал попался интересный. Может кому-то в ряде случаев и будет полезным.<br /> <br /> HOWTO: Get a C++ Class from an Interface Pointer i...

Ключевые слова:
Автор: Vi2
Аннотация: <span class='lineQuote level1'>А&gt;Можно ли как-то использовать в IDL-никах струкутры из .h файлов?</span><br /> <span class='lineQuote level1'>А&gt;проблема с window-ой структурой WAVEFORMAT котору хочеться поюзать как параметр интерефейса..</span><br /> <span class='lineQuote level1'><br /> RB&gt;Обычно наоборот, по idl генерируют "ашники"...</span><br /> <span class='lineQuote level1'><br /> А&gt;В том то и беда что WAVEFORMAT структура и соотв. mmreg.h существовал задолго ...</span>

Ключевые слова:
Автор: VladD2
Аннотация: Всем привет.<br /> <br /> Навеяно вот этими топиками:<br /> <br /> <a class=" tips m" href="https://rsdn.org/Forum/?mid=124975" rel="#ONNkGv" title="C#-овский COM-объект для C#-клиента">http://www.rsdn.ru/Forum/?mid=124975<div class="tooltip" id="ONNkGv">Автор: SCS<br />Дата: 04.11.02</div></a><br /> <a class=" tips m" href="https://rsdn.org/forum/Message.aspx?mid=125632&amp;only=1" rel="#TuCRTX" title="От COM'а к Reflection">http://www.rsdn.ru/forum/Message.aspx?mid=125632&amp;amp;only=1<div class="tooltip" id="TuCRTX">Автор: IT<br />Дата: 05.11.02</div></a><br /> ну и еще многими другими... в общем достали. <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /><br /> <br /> Итак почему же столько проблем с COM+-ом если компоненты, и особенно клиента создавать средствами .NET Fram...

Ключевые слова:
Автор: Анисимов Антон
Аннотация: В одно время у меня возникла необходимость в общении с Excel2000, при чем, объемы данных должны были проходить большие, что привело к появлению этой DLL-ки. При открытии файла все данные, находящиеся в нем загружаются в динамический строковый кэш (при нынешних объемах памяти это не так много) и потом можно работать с ним. К сожалению, форматирование не кэшируется, да и задач таких не ставилось. В результате тестирования программа, работающая с Excell с помощью OLE (COM тоже пробовали) втискивала туда 15000 ячеек за 50 секунд, а через эту DLL-ку за 3. Разница, как говорится, на лице :).

Ключевые слова: Excel
Автор: Сергей Иванов
Источник: RSDN Magazine #3-2005
Аннотация: В настоящей статье не будет рассматриваться C++ with managed extensions – разработка COM-объектов с помощью этого языка программирования не очень существенно отличается от традиционной разработки с помощью C++. Ограничимся лишь C#, который позволяет разрабатывать COM-объекты гораздо проще, чем C++ или Delphi (субъективное мнение автора, основанное на личном практическом опыте). Более того, не будут здесь рассматриваться ни общие вопросы COM, ни конкретные механизмы и технологии C# для разработки COM – все это достаточно подробно документировано в MSDN. Будет рассмотрен абсолютно частный вопрос, который, к сожалению, не нашел отражения ни в MSDN, ни в других источниках информации, доступных автору, включая поиск в Сети – как средствами C# реализовать COM-коллекции.

Ключевые слова: COM-коллекции
Автор: Владислав Чистяков
Источник: «Технология Клиент-Сервер»
Аннотация: Пример коллекции на ATL/ascLib - 16 kb Пример коллекции на ATL/STL (из MSDN) - 21 kb Библиотека ascLib

Ключевые слова:
Автор: Удалов В.А.
Аннотация: В системах семейства Windows широко распространен пользовательский интерфейс на базе так называемых страниц свойств (Property Pages). Страницы свойств в виде закладок отображаются в специальном диалоговом окне, который называется "Панель свойств" (Property Sheet). Такие диалоги используются в Windows довольно часто от настроек шрифта и цвета, до управления безопасностью и параметрами системы. Property Page может использоваться не только как отдельный элемент управления. В объектной модели Windows она предоставляет собой графический интерфейс для просмотра и редактирования свойств некоторого COM-объекта. Об этой возможности использования страниц свойств пойдет речь в данной статье.

Ключевые слова: Property Pages, Property Sheet

Connection points

Автор: Владислав Чистяков
Источник: «Технология Клиент-Сервер»
Аннотация: Часто при использовании COM-объектов в С++-программах встает необходимость подключения к их событиям. Если вы используете MFC, VCL или другие высокоуровневые библиотеки классов, проблем не возникает, так как для решения этой задачи существуют «мастера» и т.п. Но когда такая проблема возникает при ра...

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level2'>OE&gt;&gt;Как в ATL клиенте подписываться на события надо объяснять?</span><br /> <span class='lineQuote level1'>E&gt;ДА!</span><br /> <br /> Ok, например в клиенте есть диалог, в котором нужно ловить события от COM-сервера:<br /> <br /> <pre class='c'><code><span class='kw'>class</span> CMainDlg : <span class='kw'>public</span> CAxDialogImpl&lt;CMainDlg&gt; , <span class='kw'>public</span> CDialogResize&lt;CMainDlg&gt; {</code></pre><br /> <br /> добавляем туда следующ...

Ключевые слова:
Автор: Tom
Аннотация: <span class='lineQuote level1'>&gt; 2) Законно ли в COM объектах использовать стандартные функции WIN API для создания и управления потоками (такие как CreateThread, TerminateThread и пр.)?</span><br /> <br /> Законно. Надо только не забыть вызвать <b>CoInitialize[Ex]</b> в потоке. Так же лучше пользоваться __beginthreadex, для инициализации С++ ран...

Ключевые слова:
Автор: shrek
Аннотация: Здравствуйте, Kirill.CP, Вы писали:<br /> <span class='lineQuote level1'><br /> KC&gt;Да все правильно ATLCPImplMT.h</span><br /> <span class='lineQuote level1'>KC&gt;В этом файле ошибки и происходят.</span><br /> <br /> [ccode]<br /> //&lt;Nick&gt; 17.07.2004<br /> // DWORD dwGITCookie = (DWORD)_CDV::GetUnknown(dwCookie);<br /> DWORD dwGITCookie = reinterpret_cast&lt;DWORD&gt;(m_vec.GetUnknown(dwCookie)); <br /> <br /> .......<br /> <br /> //&lt;Nick ...

Ключевые слова:
Автор: Евгений Щербатов
Аннотация: Статья посвящена технологии Connection Points в программах на MFC. Автор кратко описывает сущность и назначение этой технологии, а затем демонстрирует создание COM-клиента и COM-сервера на базе MFC с её использованием.

Ключевые слова:
Автор: Владислав Чистяков
Источник: "Технология Клиент-Сервер"
Аннотация: В реализации IDispEventImpl имеется ошибка, которая так и не исправлена ни в одном из пакетов исправлений для VS6 (включая SP5). При обработке событий, параметры которых имеют различные типы данных и размеры, функции-обработчики событий получают некорректные значения параметров. Следующий пример буд...

Ключевые слова:
Авторы: Алексей Кирюшкин
Andrew Merkushev
Аннотация: Как получать COM-бытия в скриптах

Ключевые слова: VBScript, JScript, events, WithEvents
Автор: AndrewJD
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Написан ActiveX контрол на ATL. Никак не могу подключиться к событию AсtiveX контрола на веб странице. Делаю примерно так:</span><br /> <span class='lineQuote level1'>А&gt;[code]</span><br /> <span class='lineQuote level1'>А&gt;&lt;HTML&gt;</span><br /> <span class='lineQuote level1'>А&gt;&lt;HEAD&gt;</span><br /> <span class='lineQuote level1'>А&gt;&lt;TITLE&gt;ATL 3.0 test page for object MyControl&lt;/TITLE&gt;</span><br /> <span class='lineQuote level1'>А&gt;&lt;/HEAD&gt;</span><br /> <span class='lineQuote level1'>А&gt;&lt;BODY&gt;</span><br /> <span class='lineQuote level1'>А&gt;&lt;SCRIPT language="JavaScript...</span>

Ключевые слова: