Программирование - это просто
Advertisement
Главная arrow Уроки Delphi arrow Пишем на Delphi с применением COM-технологий arrow Урок 1. Введение в COM (TDdeClientConv, OLE). 
18.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Урок 1. Введение в COM (TDdeClientConv, OLE).  Печать E-mail
Автор megabax   
06.12.2010 г.
New Page 1

Урок 1. Введение в COM (TDdeClientConv, OLE)

Исходники к уроку можно скачать здесь..

Для начала давайте определимся, что такое COM и с чем его "едят". Данная аббревиатура означает Component Object Model (модель составных объектов). Эта технология создавалась с целью решить две проблемы, с которым сталкиваются программисты, работающие под Windows:

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

Сначала технология COM начала развиваться как технология OLE (Object Linking and Embedding - связывание и внедрение объектов). Само OLE,  в свою очередь, появилось как одно из направлений DDE (Dinamic Data Excange - динамический обмен данными). Эти технологии позволяли получать и сохранять данные от приложения сервера, а так же получать информацию о самом приложении сервере. 

Вот сейчас мы это и продемонстрируем. на примере простенькой программы, которая отображает содержимое меню "все программы", вызываемое через кнопочку "Пуск"*:

Урок 1. Введение в COM (TDdeClientConv, OLE). 

 И так, положите на форму два компонента TListBox**:

Урок 1. Введение в COM (TDdeClientConv, OLE). 

Затем кладем на форму компонент TDdeClientConv**:

Урок 1. Введение в COM (TDdeClientConv, OLE). 

 Вот та в итоге у вас должна выглядеть форма**:

Урок 1. Введение в COM (TDdeClientConv, OLE). 

Свойствам DDEService и DDETopic компонента TDdeClientConv присвоим значение ProgMan**:

Урок 1. Введение в COM (TDdeClientConv, OLE). 

Создадим обработчик событий формы OnCreate:

procedure TfrmDDEDemo.FormCreate(Sender: TObject);

var p:PChar;

begin

   P:=DDEClientConv.RequestData('Groups');

   lbGroups.Items.SetText(P);

   StrDispose(P);

end;

Несколько комментариев к коду. Строкой 

P:=DDEClientConv.RequestData('Groups');

мы обращаемся к серверу DDE программ менеджера, что бы получить список групп (поэтому мы задавали значение ProgMan у соответствующих свойств компонента TDdeClientConv). Эта функция возвращает текст в виде строки с завершающим нулем (PChar). Метод SetText устанавливает в качестве содержимого списка содержимое этой самой строки. При этом он копирует данные, преобразуя их в нужный компоненту TListBox формат. Поэтому, что бы не засорять память, нам надо уничтожить исходный буфер, выделенный системой под строку с завершающим нулем. Это мы делаем процедурой StrDispose. 

Затем создадим обработчик нажатия на пункт верхнего списка (назовем его lbGroups, а нижний, соответственно lbItems):

procedure TfrmDDEDemo.lbGroupsClick(Sender: TObject);

var p:PChar;

begin

   P:=DDEClientConv.RequestData(lbGroups.Items[lbGroups.ItemIndex]);

   lbItems.Items.SetText(P);

   StrDispose(P);

end;

Здесь мы делаем почти тоже самое, только компоненту TDdeClientConv  указываем, что бы он получил не список групп, а содержимое группы, котору в данный момент юзер выделил в списке. 

Теперь запускаем программу и смотрим, как он работает:

Урок 1. Введение в COM (TDdeClientConv, OLE). 

(C) Шуравин Александр 


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями   программного продукта "Windows XP", авторское право на который принадлежит корпорации "Microsoft"

Скриншоты, помеченные знаком ** , являются цитатами и иллюстрациями  программного продукта "Turbo Delphi", авторское право на который принадлежит "Borland Software Corporation"


 

Последнее обновление ( 03.09.2013 г. )
 
« След.
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги