Энциклопедия C++ Builder



ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ И C++ - часть 24


AutoClassInfo.ProgID = "BCBAutoSrv.EditServer" ;

AutoClassInfo.ClassID =

"{61E124E1-C869-11CF-9EA7-OOA02429B18A}";

AutoClassInfo.Description =

"Borland C++Builder AutoSrv Example Server Class";

AutoClassInfo.Instancing = acMultiInstance;

// Регистрация класса автоматизированного сервера Automation->RegisterClass(AutoClassInfo) ;

}

// Инициализация объекта автоматизированного сервера

int Initialization()

{ RegisterButtonServer() ;

return 0;

}

Листинг 3.15. Кодовый файл Auto2cpp модуля автоматизированного сервера.

#ifndef AutolH #efine AutolH

class TFormI : public TForm {

published: // IDE-managed Components

TEdit *Editl;

TButton *Buttonl

TButton *Button2

TButton *Button3

TLabel * Label 1;

void _fastcall ButtonlClick(TObject *Sender) ;

void _fastcall Button2Click(TObject * Sender);

void _fastcall Button3Click(TObject * Sender);

private: // User declarations

Variant AutoServer;

public: // User declarations

virtual _fastcall TFormI(TComponent *0wner) ;

extern TFormI *Forml;

#endif

Листинг 3.16. Файл объявлений Auto1.h, все строки которого (за исключением выделенной строки объявления варианта) C++Builder генерирует автоматически при размещении компонент на форме контроллера.

include <vcl.h> #pragma hdrstop

#include "autol.h"

#pragma resource "*.dfm" #ormI *Forml;

_fastcall TFormI::TFormI(TComponent *0wner) : TForm(Owner) { try

{ // Создание автоматизированного сервера как объекта OLE AutoServer = CreateOleObject("BCBAutoSrv.Edit Server");

}

catch (...) { // Обработка исключения

ShowMessage("Сначала компилируйте и запустите AutoSrv");

Application-terminate () ;

}

} // Обработчик события при нажатии кнопки Buttoni

void _fastcall TFormI::ButtonlClick(TObject *Sender) { // Установка автоматизированного свойства сервера AutoServer.OlePropertySet("EditStr", Editl->Text);

)

// Обработчик события при нажатии кнопки Button2

void _fastcall TFormI::Button2Click(TObject *Sender)




Содержание  Назад  Вперед