Главная » Статьи для тега "safecall"

Исключения и директива SafeCall

Добавлено Дата: 13 March, 2012 категория: Delphi

Функции, отмеченные директивой safecall, используются в модели  COM и при обработке исключений. Она гарантируют, что любое  исключение будет передано вы зывающей функции. Функция  с директивой SafeCall преобразует исключение в воз вращаемое значение HResult. Кроме  того,  применение ключевого слова  SafeCall подразумевает соблюдение соглашения о вызовах StdCall. Следовательно, функция с директивой SafeCall должна быть объявлена так:

Читать »

Разработка приложений COM+

Добавлено Дата: 13 February, 2012 категория: Delphi

Теперь, рассмотрев отдельные возможности спецификации COM+, можно  при ступать  к разработке приложения, в котором были  бы  реализованы такие  свойства COM+, как транзакции, контроль за временем существования объектов и совместное использование ресурсов.

Читать »

Коллекции автоматизации

Добавлено Дата: 6 February, 2012 категория: Delphi

Прямо скажем:  нас, программистов, со всех сторон окружают программные объек ты, которые используются в качестве контейнеров для других программных объектов. Задумайтесь, как велико  их разнообразие — будь то массив,  список  (компонент TList), коллекция (компонент TCollection), класс контейнера шаблона  C++ или вектор Java. Кажется, что мы постоянно только  то и делаем, что подыскиваем оптимальный вариант пресловутой мышеловки для программных объектов, которая бы наилучшим образом справлялась с задачей хранения других программных объектов. Если оценить время, за траченное на создание идеального контейнерного класса,  то станет  ясно,  что это одна из самых важных  проблем, занимающих умы разработчиков. А почему бы и нет? Подоб ное  логическое разделение контейнера и его  содержимого помогает лучше организо вать алгоритмы и создает  вполне приемлемое соответствие реальному миру (в корзинке могут лежать  яйца,  в кармане — деньги, на стоянке можно  спокойно оставлять автомо били и т.д.). При изучении нового языка  или модели  разработки всегда приходится зна комиться с “новым способом” управления группами  некоторых элементов. Это и есть та самая  мысль,  к которой мы вас подводили: подобно любой  другой  модели  разработки программных продуктов, модель COM также имеет  свои способы управления собствен ными  разновидностями групп  элементов. Чтобы добиться эффективности  в разра ботке приложений COM, необходимо знать,  как обращаться с такими объектами.

Читать »

Создание внутреннего сервера автоматизации

Добавлено Дата: 5 February, 2012 категория: Delphi

Подобно тому  как  создание внешних серверов  (out of process)   начинается с по строения отдельных приложений, создание внутренних серверов (in process) начина ется  с построения библиотек DLL. Можно  воспользоваться уже существующей  биб лиотекой DLL или создать  совершенно новую, дважды щелкнув на пиктограмме DLL в диалоговом окне New Items (меню File пункт New).

Читать »

Создание сервера автоматизации

Добавлено Дата: 4 February, 2012 категория: Delphi

Delphi  существенно упрощает работу  по созданию серверов автоматизации обоих типов  — как внешнего, так и внутреннего. Процедура создания сервера автоматизации сводится к выполнению четырех действий.

1.  Создайте приложение или библиотеку DLL, которые будут субъектом  автомати зации.  В качестве отправной точки  можно  даже использовать одно из уже суще ствующих  приложений, к которому будут добавлены средства поддержки авто матизации. Это единственное действие, где проявляется реальное различие между созданием внутреннего и внешнего серверов.

Читать »