![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 05.11.2010
Сообщений: 25
|
![]()
Создание внутреннего и внешнего серверов. Создание серверов автоматизации.
Алгоритм создания: 1. Создайте приложение или DLL, которое должно выступать в роли сервера автоматиза-ции. Можно использовать любое ранее созданное вами приложение и добавить к нему автоматизацию. 2. При помощи мастера объекта автоматизации создайте объект автоматизации и добавьте его к проекту. 3. Добавьте свойства и методы к вашему объекту автоматизации при помощи библиотеки типов. Данные свойства и методы нужны для того, чтобы диспетчеры автоматизации могли их использовать при обращении к вашему серверу автоматизации. 4. Зарегистрируйте приложение как сервер автоматизации. Необходимо выполнить простое задание: сервер автоматизации должен изменять цвет толь-ко формы путем передачи необходимого цвета из диспетчера автоматизации. Для создания сервера автоматизации необходимо выполнить следующие шаги: Часть А: создаем сервер автоматизации. 1) Создайте простое приложение, состоящее из формы и поместите на нее любую фигуру (Shape). Для того, чтобы приложение выполняло функции сервера автоматизации, доба-вим к нашему проекту объект автоматизации. Нужно выбрать пункт главного меню File/New. В открывшемся окне New Items (Новые объекты) на вкладку ActiveX 2) Выберите пиктограмму Automation Object (Объект автоматизации) двойным щелчком. После этого появится окно Automation Object Wizard (Мастер объекта автоматизации). Заполните соответствующие поля: поле CoClass Name - Auto поле Instancing – Multiple Instance поле Threading Model - Apartament После установки всех параметров в данном диалоговом окне Delphi создает новую биб-лиотеку типа для проекта и добавит интерфейс и класс компонентов к данной библиоте-ке типа. Мастер создает новый модуль в проекте unit2, который содержит реализацию интерфейса автоматизации, добавленного к библиотеке типа. 3) После закрытия диалогового окна Automation Object Wizard (Мастер объекта автомати-зации) появится редактор библиотеки типа с вашим новым проектом Project1.tlb, кото-рый содержит объект автоматизации TAuto, являющимся классом-наследником класса TAutoObject: type TAuto = class (TAutoObject, IAuto) 4) Теперь необходимо дописать к основному интерфейсу IAuto нужные свойства и методы: - в левой части редактора библиотеки типа щелкните на изображение интерфейса IAuto левой кнопкой мыши; - т.к. нам нужно только получать цвет от диспетчера автоматизации, то понадобится свой-ство только для чтения, для этого щелкните на стрелочке справа от пиктограммы, изо-бражающей свойство в верхней панели редактора, и выберите Write Only (Только для записи); - назовите свойство Color и установите тип свойства OLE_COLOR в поле Type ; - новое свойство добавлено и нужно нажать в верхней панели редактора кнопку Refresh Implementation для обновления модуля реализации объекта автоматизации; - допишите вручную в модуль реализации тело процедуры: procedure TAuto.Set_Color(Value: OLE_COLOR); begin Form1.color:=Value; end; - после этого создайте новую папку, например LAB2 сохраните приложение в эту пап-ку, дайте имя проекту, например Serv. Затем откомпилируйте или запустите приложение для того, чтобы получить исполняемый файл Serv.exe. Итак, новый сервер автоматизации готов. Часть В: создаем диспетчер автоматизации для проверки работы сервера автоматизации. 1) Создадим новый проект File/New Application . Разместим на форме 4 кнопки: Соединить, Цвет красный, Цвет зеленый, Цвет синий; 2) Для кнопки Соединить впишем обработчик события OnClick, которое создает экземпляр сервера автоматизации. При нажатии на эту кнопку будет запущено приложение Serv.exe; Procedure Tform1. Button1Click (Sender: TObject); Begin FIntf := CoAuto.create; End; 3) Для событий OnClick кнопок, определяющих цвета, пишем обработчики событий, кото-рые вызывают метод Set_Color интерфейса IAuto. FIntf.Set_color(clRed); - Button2Click FIntf.Set_color(clGreen); - Button3Click FIntf.Set_color(clBlue); - Button4Click В раздел uses нужно добавить библиотеку типов Serv_TLB , а в раздел private добавить поле FIntf типа IAuto. 4) Запустите диспетчер автоматизации на исполнение. Нажмите последовательно кнопки Соединить (запускается приложение Serv.exe), а затем измените цвет формы кнопками Цвет. При правильной работе форма должна менять цвет на указанный. Ошибку пишет, когда я первый раз компилирую [Error] Unit2.pas(23): Undeclared identifier: 'Form1' [Fatal Error] Project1.dpr(7): Could not compile used unit '..\..\..\..\Documents and Settings\Администратор\Рабочий стол\LAB2\Unit2.pas' |
![]() |
![]() |
#12 | |
Пользователь
Регистрация: 05.11.2010
Сообщений: 25
|
![]() Цитата:
|
|
![]() |
![]() |
#13 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование библиотек (dll) в RAD Studio, написанных в Delphi 7 | Jetro | Общие вопросы Delphi | 7 | 29.06.2011 15:30 |
Работа с картами ГИС. трудности с использованием библиотек | Женёк123 | Помощь студентам | 0 | 05.11.2010 15:30 |
Создание\использование своих DLL библиотек | Vol666 | Общие вопросы Delphi | 5 | 26.08.2009 11:55 |
Создание библиотек паролей!!! | Виталий Горбунов | Общие вопросы C/C++ | 5 | 22.03.2008 20:18 |