--- title: "С#" type: guide api: [api7] tags: [guide, api7, making] sources: - making_lib_c.html --- *Создание прикладных библиотек  > Создание прикладных библиотек в различных средах программирования * ## С# 1. В свойствах проекта (Configuration Properties - Build) включите опцию Register for COM Interop (TRUE). 2. Создайте DLL-обертки для TLB Компас API (они расположены в папке ..\SDK\Lib) с помощью утилиты TlbImp.exe 3. Подключите созданные DLL к проекту, вызвав команду контекстного меню Add Reference. 4. Для регистрации библиотеки в системе КОМПАС класс библиотеки должен реализовывать статический метод типа .htmSample (Type type) с атрибутом ComRegisterFunctionAttribute, в котором для ключа реестра в HKCR, отвечающего за регистрацию класса, создается раздел с именем Kompas_Library. 5. Чтобы зарегистрировать библиотеку на компьютере пользователя, необходимо воспользоваться утилитой RegAsm.exe. Нажмите кнопку Пуск, вызовите команду Выполнить…, введите командную строку вида RegAsm.exe /codebase <файл_библиотеки> и нажмите кнопку ОК. ## С++ Builder 1. Вызвать из меню File команду New.... Выбрать тип DLL Wizard на вкладке NEW. Другие настройки на этой вкладке оставить без изменения. 2. В настройках проекта установить выравнивание: Project Options - Advanced Compiler - Data Alignment = Byte. 3. В настройках проекта или в дальнейшем после компиляции изменить расширение файла библиотеки с dll на rtw. 4. Для создания КОМПАС-библиотеки необходимо вставить несколько экспортных функций. Пример реализации простейшей библиотеки расположен в папках: •..SDK\С++\CBUILDERAUTO\Step1 (библиотека написана с использованием Автоматизации); •..SDK\С++\CBUILDER\Step1 (библиотека написана с использованием экспортных функций). ## Delphi Чтобы создать библиотеку, нужно выполнить следующие действия. 1. Вызвать команду File - New.... Выбрать тип DLL на вкладке NEW. 2. В настройках проекта установить выравнивание: выключить опцию Project Options - Compiler - Code Generation - Aligned Record fields. 3. В настройках проекта или в дальнейшем после компиляции изменить расширение файла библиотеки с dll на rtw. 4. Для создания КОМПАС-библиотеки необходимо вставить несколько экспортных функций. Примеры реализации простейшей библиотеки расположены в папках: •..SDK\PASCAL\DELPHIAUTO\Step1 (библиотека написана с использованием Автоматизации); •..SDK\PASCAL\DELPHI\Step1 (библиотека написана с использованием экспортных функций). ## Visual Basic 1. Вызвать из меню File команду New - Project, тип ActiveX DLL. 2. Для создания КОМПАС-библиотеки необходимо вставить несколько функций. 3. Библиотеки данного типа подключаются к КОМПАС на вкладке ActiveX, где их необходимо зарегистрировать при первом подключении, нажав кнопку Добавить. Пример реализации простейшей библиотеки расположен в папке ..SDK\Basic\Step1 (библиотека написана с использованием Автоматизации). ## Visual С++ 1. Вызвать из меню File команду New. 2. На вкладке Projects выбрать из списка вариант MFC AppWizard (dll). Ввести в поле Project Name: имя проекта и нажать кнопку OK. 3. В появившемся на экране диалоге MFC AppWizard - Step 1 of 1 выбрать в группе What type of DLL would you like to create? вариант MFC Extension DLL (using shared MFC DLL). Другие настройки этого диалога оставить без изменения и нажать кнопку Finish. 4. Вызвать команду Project - Settings.... 5. В появившемся диалоге Project Settings раскрыть вкладку C/C++. 6. Выбрать из раскрывающегося списка Category вариант General. В поле Preprocessor definition подстроку _DEBUG заменить на NDEBUG. 7. Выбрать из раскрывающегося списка Category вариант Code Generation. Выбрать из раскрывающегося списка Use run-time library вариант Multithread DLL. 8. Закрыть диалог, нажав кнопку OK. 9. В настройках проекта установить выравнивание: •выбрать из раскрывающегося списка Category вариант Code Generation; •выбрать из раскрывающегося списка Struct member argument вариант 1Byte. 10. Для создания КОМПАС- библиотеки необходимо вставить несколько функций. 11. В настройках проекта или в дальнейшем после компиляции изменить расширение файла библиотеки с dll на rtw. Пример реализации простейшей библиотеки расположен в папках: •..\SDK\С++\VisualcAUTO\Step1 (библиотека написана с использованием Автоматизации); •..SDK\С++\Visualc\Step1 (библиотека написана с использованием экспортных функций). Сведения по настройке конфигурации проекта библиотеки в среде VС++ 2005 для платформы х64