Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
T-FLEX CAD. ДВУХМЕРНОЕ ПРОЕКТИРОВАНИЕ И ЧЕРЧЕНИЕ. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ.pdf
Скачиваний:
168
Добавлен:
01.05.2014
Размер:
9.1 Mб
Скачать

ActiveX

ACTIVEX

T-FLEX CAD является приложением, поддерживающим механизм ActiveX. Этот механизм доступен на двух уровнях: на уровне приложения - класс ITFServer и на уровне документа (чертежа) - класс ITFLEX. Класс ITFServer обеспечивает управление документами (создание, открытие, поиск, удаление), а также вспомогательные функции, такие как управление библиотеками чертежей, конфигурация системы и т.д. Класс ITFLEX, в свою очередь, реализует функции по созданию и модификации чертежа, а также такие операции над чертежом, как сохранение, экспорт, вывод на печать, сохранение и считывание параметров и др.

Для использования T-FLEX CAD в качестве сервера ActiveX можно воспользоваться средствами,

поддерживающими ActiveX, например, Visual C++ или Visual Basic.

В данном руководстве описаны только принципы использования функций ActiveX T-FLEX CAD. Полное описание функций приведено в файле “Automate.doc”, который содержится в каталоге “Program”.

Использование Visual C++

При использовании в качестве средства разработки приложений пользователя Visual C++ рекомендуется пользоваться средством Class Wizard, позволяющим автоматизировать процесс подготовки классов T-FLEX CAD к использованию в прикладной программе. При этом необходимо выполнить следующие шаги:

Вокне диалога Class Wizard нажать на кнопку [Add Class...] и выбрать пункт меню «From an OLE TypeLib...»

Вокне диалога выбора файла выбрать файл “TFW32.TLB”, находящийся в подкаталоге “PROGRAM” корневого каталога, в который установлен T-FLEX CAD.

Вокне подтверждения выбора классов выбрать классы ITFServer и ITFLEX и нажать кнопку [OK]. При этом будут созданы два файла “TFW32.H” и “TFW32.CPP”, описывающих классы ITFServer и ITFLEX. Оба класса порождены от класса MFC COleDispatchDriver. После этого классы готовы к использованию.

Для использования методов класса ITFServer необходимо создать объект этого класса (например, в классе приложения) а в нужный момент (например, в функции InitInstance) вызвать его функцию «CreateDispatch». Пример:

myapp.h:

 

. . .

 

ITFServer m_TFServer;

// Объект класса ITFServer,

// являющийся членом класса приложения

. . .

myapp.cpp:

BOOL CMyApp::InitInstance()

{

. . .

593

Двухмерное проектирование

if (!m_TFServer.CreateDispatch(«TFW32.SERVER»))

{

MessageBox (0,»Unable to create Dispatch Driver»,»Error»,MB_OK); return FALSE;

}

. . .

}

При этом, если исполняемый модуль T-FLEX CAD (TFW32.EXE) является активным в системе, то именно он будет выполнять запросы ActiveX. В противном случае TFW32.EXE будет запущен, однако окно T- FLEX CAD на экране не появится. Для того, чтобы оно появилось на экране, необходимо вызвать функцию

ShowApplication(1) класса ITFServer.

В случае успешного завершения функции CreateDispatch методы класса ITFServer готовы к использованию.

Для получения доступа к методам документа необходимо создать объект класса ITFLEX, получить указатель типа LPDISPATCH, возвращаемый одной из функция класса ITFServer, а затем вызвать функцию

AttachDispatch класса ITFLEX.

Пример:

mydoc.cpp:

. . .

CMyApp* app = GetApp ();

ITFLEX* tfdoc = new ITFLEX;

LPDISPATCH dispatch =

app->m_TFServer.OpenFile(«C:\\tfw32\\exampes\\tea-pot\\tea.grb»); if (!dispatch)

{

MessageBox (0,»Unable to open document»,»Error»,MB_OK); return FALSE;

}

tfdoc->AttachDispatch (dispatch);

. . .

Использование Visual Basic

Для применения механизме ActiveX в Visual Basic требуется объявить переменную в качестве объекта, например:

Public TFLEX As Object

, а затем вызвать функцию GetObject для запуска T-FLEX CAD в качестве сервера ActiveX или подключения для этого уже запущенной копии T-FLEX CAD.

Пример:

Public TFLEX As Object

. . .

594

ActiveX

Sub Main()

. . .

Set TFLEX = GetObject(«», «TFW32.SERVER»)

TFLEX.ShowApplication 1

. . .

End Sub

В дальнейшем этот объект можно использовать для создания объектов, управляющих функциями документа. К примеру, следующий фрагмент программы открывает файл чертежа и запускает окно диалога T-FLEX CAD для его печати:

Dim doc As Object

Set doc = TFLEX.OpenFile(sFile)

doc.PrintDialog

Описание функций ActiveX T-FLEX CAD

Описание функций T-FLEX CAD содержится в файле “Automate.doc”, который находится в поддиректории “Документация”, расположенной в директории, в которую была произведена установка

T-FLEX CAD.

Содержимое данного файла постоянно обновляется, в соответствии с появлением новых функций.

595