Отправляет email-рассылки с помощью сервиса Sendsay

Ресурсы сети InDev

  Все выпуски  

Ресурсы сети InDev


Служба Рассылок Subscribe.Ru проекта Citycat.Ru


Ресурсы сети lnDev No. 8

Добрый день, уважаемые подписчики. Закончилось лето. Мы приготовили для вас новые материалы. Конечно, это только малая часть тех грандиозных задумок, которые имеют место быть. Мы над этим работаем. А пока представляем:

  • Visual C++ 7.0 и Attributed Programming
  • Игнорируй WPA (Windows Product Activation)

Ждем от вас пожеланий новых тем статей, предложений. Наши координаты indev@gmx.net и http://indev.virtualave.net. И еще, рад с вами поделиться находкой.. нашего сайта, в MSN, не говоря уже об отечественных поисковиках.

Visual C++ 7.0 и Attributed Programming
В VC++ 7.0 появилась новая фишка "Attributed Programming" что это такое и с чем это едят я и попытаюсь рассказать в этой статье, я конечно не претендую на полное описание, это скорее обзорная статья.
     Атрибуты предназначены для упрощения и повышения скорости разработки COM приложений. Как и следует из названия, это атрибуты :), используемые в исходном тексте и понимаемые компилятором. Атрибуты - это новая техника и новые ключевые слова в так называемом "Microsoft Extension for C++ Standad". Когда компилятор встречает в исходном тексте Атрибуты, он изменяет образ действия программы, а иногда даже сам добавляет необходимый код. Так, например, использование Атрибутов упрощает реализацию таких вещей как: реализация элементов управления ActiveX, создание фабрики классов для компонента COM или даже форматирование команд Системе Управления Базой Данных. Как видно из приведенного выше краткого и далеко неполного перечня, Атрибуты могут очень многое и затрагивают достаточно большую часть процесса создания программ. Совершенно логично (основываясь на функциях Атрибутов), что Атрибуты могут быть применены почти к любому объекту C++: классу, методу, свойству, а могут использоваться и как самостоятельные выражения (но естественно привязанные к общему контексту программы, и классам на которые предполагается оказывать влияние с их помощью). В файлах помощи, поставляемых с VS 7.0, приводятся следующие "глобальные" фичи Атрибутов:

  • Exposes a familiar and simple calling convention. (Предоставляют простое и привычное преобразование вызовов)
  • Uses inserted code, which, unlike macros, is recognized by the debugger. (Используют " "вставленный" код, который в отличии от макросов распознается отладчиком)
  • Allows easy derivation from base classes without burdensome implementation details. (Предоставляют упрощенное наследование без обременительной реализации деталей)
  • Replaces the large amount of IDL code required by a COM component with a few concise attributes. (Заменяют большой объем IDL-кода, необходимого для реализации COM компонента)

Небольшой пример реализации обработчика событий для обычного ATL-класса (взятый опять-таки из помощи):

// Пример 1 
[event_receiver(com)] 
class CMyReceiver  
{ 
   void handler1(int i) { ... } 
   void handler2(int i, float j) { ... } 
} 

При компиляции этого исходника в откомпилированный код будет автоматически вставлено все необходимое, для реализации обработки событий. Вам останется лишь установить какой из методов CMyReceiver отвечает за какое событие, а это делается не просто, а очень просто - путем вызова внутренней функции __hook в источнике сообщений, который вы создаете с использованием атрибута event_source.
     Естественно Атрибуты могут быть вставлены в исходник не только прямым редактированием кода. Атрибуты широко используются самой IDE. Они вставляются в код, когда вы вносите соответствующие изменения в свойства объекта при помощи Property Grid (Окна Свойств объекта), когда вы задаете начальные параметры приложения, создавая остов при помощи мастера, когда вы добавляете новые объекты и функциональность в проект при помощи различных вспомогательных мастеров.
     Атрибуты - очень большая и обширная тема для обсуждения. На этот раз я остановлюсь на изложенном выше, на мой взгляд, для введения уже неплохо. Ждите следующих выпусков, в которых мы продолжим публикацию интересных материалов. В ближайших планах:

  • Продолжение данной статьи, с более детальным рассмотрением применения Атрибутов
  • Давно обещанное продолжение статьи о WMI
  • Много, много интересных вещей ...

-Pentagra

Игнорируй WPA (Windows Product Activation)
Знаете ли вы, что заменой 11-и файлов в дистрибутиве Windows XP на файлы из корпорационной версии вы превратите свой дистрибутив в корпорационную версию? Этот способ проверен и главное, он работает! Знайте, что этот способ нельзя считать взломом Windows XP, но для протокола следует иметь 25-и значный PLK (Personal License Key) и помнить о разнице в стоимости простой и корпорационной версий ОС. Интересно, исправит ли Microsoft эту недокументированную возможность в первом сервиспаке. Вот файлы, которые нужно заменить:

  • i386\dpcdll.dl_
  • i386\eula.txt *** для полноты ощущений
  • i386\nt5inf.ca_
  • i386\oembios.bi_
  • i386\oembios.ca_
  • i386\oembios.da_
  • i386\oembios.si_
  • i386\pidgen.dll
  • i386\setupp.ini
  • i386\setupreg.hiv
  • i386\win9xupg\win95upg.inf

Источник [http://www.w2knews.com].
Оставайтесь с нами.


-KOYOT

Предыдущие выпуски
Вы всегда можете найти все номера на нашем сайте в разделе "Рассылка" и в архиве службы рассылок http://subscribe.ru/archive/comp.soft.prog.indev. Кроме того привожу список на настоящий момент.

P.S.
Ну вот вроде и все на сегодня. Напоследок предложу вам подписать на нашу рассылку друзей и знакомых, что можно будет сделать формой внизу и если есть желание, то присылать новости и замечания.

 Subscribe.Ru

Авторские права охраняются. Перепечатка данного материала
или его части в любом виде разрешена только с указанием
авторства InDev и ссылки на сайт Ресурсы сети InDev




 

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное