Типы с суффиксом Prt

Автор safonoval, 26.08.14, 16:05:13

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

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

safonoval

Добрый день.
Скажите, какие заголовочные файлы, библиотеки подключить, чтобы использовать типы с суффиксов Ptr ( Ptr-оболочки интерфейсов (smartpointer)), что-то вроде указателей, например IPartPtr или ksPartPtr или аналогичные для API7
мучаюсь , не могу никак сделать их доступными для проекта.
*API под VC

Дмитрий22

Примерно так:

#include <ksAPI7_TLB.h>
#ifdef __LIGHT_VERSION__
#include <Kl_TLB.h>
#else
#include <Ks_TLB.h>
IApplicationPtr iKompasApp;

extern "C" void far __export __pascal  LibraryEntry( UINT Comm )
{
iKompasApp =  IDispatchPtr(::CreateKompasApplication(), false/*AddRef*/ ) ;
  IKompasDocument2DPtr idoc = iKompasApp->ActiveDocument;
ILayoutSheetsPtr LayoutSh = idoc->get_LayoutSheets();
ILayoutSheetPtr Layout1 = LayoutSh->get_ItemByNumber(1);
IStampPtr Stamp1 = Layout1->Stamp;
ITextPtr TextP;
TextP = Stamp1->get_Text(.............................

.........
С++ Builder, VC должно быть сильно похоже.
+ Благодарностей: 1

safonoval

Спасибо за ответ.
Не могу найти такого заголовочного файла
ksAPI7_TLB.h

такой есть Ks_TLB.h

Соответственно, не получается пока.

Дмитрий22

Пробуйте сгенерировать его из соответствующего *.tlb файла.Я делал именно так. Либо попробуйте получить его из библиотеки при помощи встроеного мастера в VC (если она зарегистрирована в Windows COM).

Slaviation

Импортируйте нужные библиотеки типов (например в хидере stdafx.h)

#import "Bin\\ksConstants.tlb" no_namespace named_guids
#import "Bin\\ksConstants3D.tlb" no_namespace named_guids
#import "Bin\\kAPI5.tlb" no_namespace named_guids rename ("min", "ksMin") rename ("max", "ksMax")
#import "Bin\\kAPI7.tlb" no_namespace named_guids rename ("PostMessage", "ksPostMessage") rename ("MessageBoxEx", "ksMessageBoxEx")

Пути до библиотек типов должны быть заданы в проекте
+ Благодарностей: 1