Читаем КОМПАС-3D V10 на 100 % полностью

4. Закройте окно, в котором был открыт файл Kompas6API5-TLB.pas, в редакторе кода Delphi и измените имя файла на ksTLB.pas. Сгенерированный файл Kompas6API5-TLB.pas с интерфейсами размещается в каталоге Imports папки, в которой установлен Delphi, например C:\Program Files\Borland\Delphi7\Imports.

5. Скопируйте переименованный файл в каталог FirstLib\dcu вашего проекта.

6. Перейдите в главное окно проекта. В разделе uses замените следующую строку: Kompas6API5-TLB in “C:\Program Files\Borland\Delphi7\Imports\Kompas6API5-TLB.pas” на ksTLB. Напомню вам о том, что путь к Kompas6API5-TLB.pas может быть другим (он зависит от того, где установлен Delphi). Однако это не имеет значения, поскольку запись генерируется системой автоматически при компиляции файла библиотек типов. Указывать путь к модулю ksTLB, который был скопирован в папку dcu проекта, нет необходимости.

7. При компиляции прикладной библиотеки будут использованы множество различных файлов с описаниями интерфейсов, констант и пр. В принципе, они могут быть размещены где угодно (при этом в разделе uses следовало бы задавать каждый путь явно), но для удобства работы с проектом рекомендую хранить их в папке dcu, где уже находится файл ksTLB.pas. Где бы все эти файлы ни находились, в Delphi необходимо указать путь к ним. Для этого выполните команду Project -> Options, после чего на вкладке Directories/Conditionals открывшегося окна настроек проекта (рис. 6.22) задайте пути к файлам проекта:

Output directory – путь, по которому Delphi будет сохранять скомпилированный файл прикладной библиотеки (в нашем примере подойдет каталог FirstLib);

Unit output directory и Search path – полный путь к каталогу FirstLib\dcu. По этим путям система будет искать необходимые файлы библиотек КОМПАСа, а также сохранять скомпилированные DCU-файлы.

Рис. 6.22. Задание путей к файлам проекта прикладной библиотеки

8. Перейдите на вкладку Application диалогового окна настроек проекта. В поле Target file extension введите расширение, которое будет применяться для файла будущей библиотеки – RTW. Нажмите OK, чтобы сохранить настройки.

Теперь можете сохранить проект и выполнить компиляцию (для этого воспользуйтесь командой Project -> Compile Hello_KOMPAS или сочетанием клавиш Ctrl+F9). В результате в папке FirstLib должна появиться пока еще пустая и бесполезная библиотека, файл которой назван системой Hello_KOMPAS.rtw.

Чтобы RTW-библиотека, написанная на Delphi, могла взаимодействовать с КОМПАС, в ней обязательно должны присутствовать как минимум три функции (для сред программирования на базе языка C или C++ достаточно двух, так как функции LibraryName и LibraryId объединены в одну – unsigned int WINAPI LIBRARYID):

• LibraryEntry – точка входа в библиотеку;

• LibraryName – возвращает имя библиотеки, отображаемое в менеджере библиотек;

• LibraryId – возвращает идентификатор библиотеки (позже его можно использовать при работе с самой библиотекой, для подключения списка меню ее команд и пр.).

Все эти функции обязательно должны быть экспортными, то есть экспортируемыми из данной DLL, чтобы система КОМПАС могла их видеть и вызывать. По этой причине их обязательно нужно вынести в раздел exports прикладной библиотеки.

Добавьте описание этих функций в вашу библиотеку (листинг 6.8).

Листинг 6.8. Три базовых функции RTW-библиотеки

library Hello_KOMPAS;

uses

SysUtils, Classes, ksTLB;

{$E rtw}

{$R *.res}

function LibraryName: PChar; pascal;

begin

Result := “Первая библиотека”;

end;

function LibraryId: integer; pascal;

begin

Result := 100;

end;

procedure LibraryEntry(command: WORD); pascal;

begin

end;

exports

LibraryName name “LIBRARYNAME”,

LibraryId name “LIBRARYID”,

LibraryEntry name “LIBRARYENTRY”;

begin

end.

Скомпилируйте полученный код и подключите файл библиотеки к КОМПАС. Убедитесь, что в окне менеджера отобразилось заданное в функции LibraryName имя библиотеки. Запускать приложение не нужно, поскольку все равно ничего не произойдет – будет вызываться пустая функция точки входа в библиотеку LibraryEntry.

Совет

Любая создаваемая вами на Delphi библиотека будет иметь три указанные функции. Вы можете сохранить проект на данном этапе в какую-либо другую папку и в дальнейшем при разработках новых библиотек использовать его как заготовку.

Теперь нужно сделать так, чтобы библиотека стала рабочей.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT