• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Подключение 3d файлов в прикладных библиотеках

Автор tаivаnсhik, 14.04.05, 01:44:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

tаivаnсhik

При разработке научной конференции(БГАТУ) столкнулся с проблемой подключения 3d файлов(сборок) в конструкторскую библиотеку.При создании ее я пользовалься замечательной книжечкой Богуславского, но к сожелению там описывается только момент создания интерфейса подключения (информационное окошко с иерархической веткой).
Так вот как подключить готовый набор сборок при создании прикладной библиотеки на C++Builder5.0
код примера подкл.2d библ.

#include
#include "Ks_TLB.h"
#pragma hdrstop
extern "C" IDispatch* _export _pascal CreateKompasObject();
//---------------------------------------------------------------
//   Important note about DLL memory management when your DLL uses the
//   static version of the RunTime Library:
//
//   If your DLL exports any functions that pass String objects (or structs/
//   classes containing nested Strings) as parameter or function results,
//   you will need to add the library MEMMGR.LIB to both the DLL project and
//   any other projects that use the DLL.  You will also need to use MEMMGR.LIB
//   if any other projects which use the DLL will be performing new or delete
//   operations on any non-TObject-derived classes which are exported from the
//   DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
//   EXE’s to use the BORLNDMM.DLL as their memory manager.  In these cases,
//   the file BORLNDMM.DLL should be deployed along with your DLL.
//
//   To avoid using BORLNDMM.DLL, pass string information using "char *" or
//   ShortString parameters.
//
//   If your DLL uses the dynamic version of the RTL, you do not need to
//   explicitly add MEMMGR.LIB as this will be done implicitly for you
//---------------------------------------------------------------------------
   KompasObject*pKompas=NULL;
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
        return 1;
}
//---------------------------------------------------------------------------
   extern "C" char* __export __pascal LibraryName()
{
  return "Прикладная Библиотека";
}
 
  extern "C" int _export _pascal LibraryID()
  {
  return 1000;
  }
   extern "C" long _export _pascal LibraryBmpSize()
  {
  return MAKELONG(106,140);
  }
  extern "C" void _export _pascal LibraryEntry( unsigned int cm )
  {
   pKompas=(KompasObject*)::CreateKompasObject();
  switch (cm)
  {
  case 1: pKompas->ksMessage( StringToOleStr("Болт 7798") );break;
  case 2: pKompas->ksMessage( StringToOleStr("Шайба 18123") );break;
  case 3: pKompas->ksMessage( StringToOleStr("Гайка 6393") );break;
  case 4: pKompas->ksMessage( StringToOleStr("Гайка 5915") );break;
  case 5: pKompas->ksMessage( StringToOleStr("Гайка 15521") );break;
  case 6: pKompas->ksMessage( StringToOleStr("Штифт 10774") );break;
  }
  }
 
и *.rc
//Описание меню команд библиотеки
//Примечание : индетификатор команд должны быть в интервале от 1 до 900
1000 MENU
{
MENUITEN "Болт ГОСТ 7798-70", 1
MENUITEN "Шайба ГОСТ 18123-72", 2
POPUP "ГАЙКИ"
{
MENUITEN "Гайка ГОСТ 6393-73", 3
POPUP "ГАЙКИ ШЕСТИГРАННЫЕ"
{
MENUITEN "Гайка ГОСТ 5915", 4
MENUITEN "Гайка ГОСТ 15521-50", 5
}
}
MENUITEN "Штифт ГОСТ 10774-80", 6
//Определение BMP-слайдов для команд библиотеки
1 BITMAP "B7793.bmp"
2 BITMAP "Sh10906.bmp"
3 BITMAP "G3032.bmp"
4 BITMAP "G5915.bmp"
5 BITMAP "G5927.bmp"
6 BITMAP "Sh10774.bmp"

//Размеры окна вывода BMP-слайда:
1000 RCDATA {
160 //Размер по горизонтали
140 //Размер по вертикали
}
//Имя библиотеки
STRINGTABLE
{
1000 "Конструкторская библиотека"
}
vitaly_m2002@rambler.ru