Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.10.2011, 14:16   #11
Ann_Sh
Пользователь
 
Аватар для Ann_Sh
 
Регистрация: 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'
Ann_Sh вне форума
Старый 09.10.2011, 14:19   #12
Ann_Sh
Пользователь
 
Аватар для Ann_Sh
 
Регистрация: 05.11.2010
Сообщений: 25
По умолчанию

Цитата:
procedure TAuto.Set_Color(Value: OLE_COLOR);
begin
Form1.color:=Value;
end;
в чем дело?
Ann_Sh вне форума
Старый 09.10.2011, 15:13   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в чем дело?
В кросспосте. Больше так не делай.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование библиотек (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