C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 54 - Свойства ATL класса - Attributes / ActiveX по шагам / Приложение

Шаг 54 - Свойства ATL класса - Attributes

Устанавливаться при создании объекта.

54_1.gif (4767 b)

Первое, что Вы должны выбрать это модель потоков Threading Model:

Single
Apartment 	(Single Thread Apartment Model - STA)
Free 		(Miltithread Apartment MTA)
Bath 		(STA+MTA)

Наличие нескольких моделей потоков определяется тем, что сам объект может быть однозадачный или многозадачный, кроме того контейнер может быть многозадачный или однозадачный. Вот обеспечением этих комбинаций для максимальной производительности и служат эти модели.

Что происходит при модели Single. Вне зависимости от типа контейнера для предотвращения одновременного вызова нескольких функций все они пропускаются через специальный объект (proxy).

При модели Free вроде как все нормально. Но это только в том случае, если контейнер многозадачный. А вот если нет, то все повториться только с другой стороны.

Модель Apartment улучшенный вариант Single. И хоть смысл тот же реализoванно по другому, что ведет к существенному ускорению.

Модель Both может работать в любой среде в зависимости от требований контейнера.

Какую выбрать ??? Зависит от задачи. Exploler поддерживает STA, а если мы хотим работать в многозадачной среде, то нам нужен MTA.

Вторая группа - это интерфейс. Он двух типов:

Dual
Custom

Dual позволяет вызывать методы через Idispath. При использовании Custom методы вызываются напрямую. Выбор зависит от типа работы. VB всегда пользует Dual. Если элемент будет использован в VB нужен именно этот тип интерфейса.

Дальше группа ответственная за агрегацию. То есть можно ли этот класс использовать для агрегации.

Yes Да
NO нет

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

Ниже идут три флажка:

Supprt IsupporterrorInfo 	- расширенная информация об ошибках
Support Connection Point 	- необходимо, если Ваш объект генерирует сообщения
Free Threaded Marhaler 		- отвечает за реализацию маршалинга.

| |
Автор Каев Артем.
[AD]