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

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

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

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

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

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

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

Простая библиотека на C++

Автор IgorRUtver, 17.05.15, 19:19:22

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

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

IgorRUtver

Помогите с библиотекой на C++.
На Delphi всё получалось и работало, решил перейти на MicroSoft C++ (2010).
В папке SDK есть пример, с выводом сообщения, всё работает ок.
А использовать интерфейсы компаса не получается. Валиться подключение ks_tlb.h, а именно typedef TComInterface<IStrings> IStringsPtr; и дальше все строки с константами. Помогите разобраться. Или поделитесь работающим простым проектом, чтобы сравнить со своим можно было.

PS

Подключение библиотек Компаса в файле stdafx.h проекта:

#ifndef __IEntity_INTERFACE_DEFINED__
#define __IEntity_INTERFACE_DEFINED__
#endif

#import <ksConstants.tlb>   no_namespace named_guids
#import <ksConstants3D.tlb> no_namespace named_guids


#include <libtool.h>
#include <LHead3d.h>

#import <kAPI5.tlb> no_namespace named_guids rename( "min", "Imin" ) rename( "max", "Imax" ) rename( "ksFragmentLibrary", "ksIFragmentLibrary" )
#import <kAPI7.tlb> no_namespace named_guids rename( "CreateWindow", "ICreateWindow" ) rename( "PostMessage", "IPostMessage" ) rename( "MessageBoxEx", "IMessageBoxEx" )
+ Благодарностей: 1

IgorRUtver

Спасибо за быстрый на ответ! Всё проходит кроме #import <kAPI7.tlb> ...

fatal error C1084: Не удается прочитать файл библиотека типов: kAPI7.tlb: Ошибка при загрузке библиотеки.

Из того, что я прочитал, это связано платформой под которую я собираю? Мне нужен другой kAPI7.tlb или настройки проекта подправить? У меня. Компас у меня х32 , в свойствах проекта тоже выбрана win32. Ну собственно другой версии платформы я там выбрать и не могу )




IgorRUtver

Что-то не получается разобраться. Посмотрел на командную строку компилятора, там никакого упоминания импортируемых .tlb. C TEMP все просто, есть такие переменные, хранят путь к папке, что с ними может быть не так не понял. Открыл kAPI7.tlb через oleview.exe, библиотека KompasAPI7 в параметрах имеет путь к папке BIN с файлом KAPI7.tlb, у меня в проекте для подключаемых библиотек была папка SDK, поменял на BIN, ничего не получил. Больше идей нет ((

Akew

Цитата: IgorRUtver от 25.05.15, 19:24:46
fatal error C1084: Не удается прочитать файл библиотека типов: kAPI7.tlb: Ошибка при загрузке библиотеки.
Столкнулся с точно такой же проблемой. До этого все работало безукоризненно.
Отчего произошло сваливание - осталось непонятным. Переустановка КОМПАСа - не помогла.
Помог запуск Компаса из командной строки: KOMPAS.exe /register (см. http://forum.ascon.ru/index.php/topic,27301.msg204118.html#msg204118).

DesignЯR

Цитата: IgorRUtver от 17.05.15, 19:19:22
Помогите с библиотекой на C++.
На Delphi всё получалось и работало, решил перейти на MicroSoft C++ (2010).
В папке SDK есть пример, с выводом сообщения, всё работает ок.
А использовать интерфейсы компаса не получается. Валиться подключение ks_tlb.h, а именно typedef TComInterface<IStrings> IStringsPtr; и дальше все строки с константами. Помогите разобраться. Или поделитесь работающим простым проектом, чтобы сравнить со своим можно было.
Переходи на С#.С Delphi лучше на C#. Меньше заморочек.Открой примеры, посмотри и сравни код. Те же панели и меню(XML файлом) свои делать намного проще чем в Делфе.