C++ Builder 6.0

Автор Nabi, 22.03.07, 18:38:26

« предыдущая - следующая »

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

Nabi

Может кто нибудь помочь с такой проблемой? При попытке откомпилировать проект с подключенными KS_TLB.cpp выдаеться ошибка

[C++ Error] Ks_TLB.h(677): E2015 Ambiguity between '_fastcall System::Variant::operator =(const bool)' and '_fastcall System::Variant::operator =(const short)'
[C++ Error] Ks_TLB.h(686): E2034 Cannot convert 'Variant' to 'TOLEBOOL'
[C++ Error] Ks_TLB.h(703): E2034 Cannot convert 'Variant' to 'TOLEBOOL'
[C++ Error] Ks_TLB.h(720): E2015 Ambiguity between '_fastcall System::Variant::operator =(const bool)' and '_fastcall System::Variant::operator =(const short)'

И т.д.

Причем ругаеться на

interface ksCutBySketchDefinition : public TDispWrapper<IDispatch>
{
  void __fastcall set_direction(TOLEBOOL /*[VT_BOOL:0]*/ Value)
  {
    _TDispID _dispid(/* direction */ DISPID(1));
    TAutoArgs<1> _args;
    _args[1] = Value; - выделяет эту строку
    OlePropertyPut(_dispid, _args);
  }
Расположенную в KS_TLB.h. При попытке откомпилировать готовые учебные проекты получаю тот же результат. В чем может быть проблема? В том что пытаюсь откомпилировать все в C++ Builder 6.0 (выдаеться сооб что проект для C++ Builder 5.0 будет откомп в C++ Builder 6.0) или может надо отключить какие то доп библиотеки?

bmiho

С компасом идет файл "Компиляция библиотек под ... .doc"(вместо многоточия стоит версия... :) ), в котором написано для Builder C++ Automation следующее:

1. Задайте пути к подключаемым модулям. Для этого вызовите команды Project - Options... - Directories/Conditionals - Include path и Library path.
2. Отключите прежние файлы библиотек (файлы *.lib) и подключите kAPI5bc.lib.
3. Удалите файлы ks_tlb.h, ks_tlb.cpp, ks_ocx.h, ks_ocx.cpp.
4. Подключите новую библиотеку (файл с расширением tlb). Для этого выполните следующее.
4.1. Вызовите команду Project - Import type library - Add.
4.2. Выберите файл kAPI5.tlb.
5. Укажите путь к корневой папке размещения примеров (Unit dir name).
6. Нажмите кнопку Create Unit.
7. Переименуйте полученные файлы в ks_tlb.h, ks_tlb.cpp, ks_ocx.h, ks_ocx.cpp.
8. Отредактируйте в файле ks_tlb.cpp подключение .h файла.

Если выполнить все эти пункты, то все будет ОК - проверено :)

Nabi

Сдк я прочитал но так до конца и не понял.

kAPI5bc.lib-подключаю. А вот -Отключите прежние файлы библиотек (файлы *.lib)- не понимаю. Отключить ссылки на библ или какие файлы?

Все вроде по сдк сделал, но ошибка осталась. Можно подробнее оюъяснить п.2? Про отключение прежних, библиотек?

bmiho

Надо не забыть выполнить пункты с 3го по 8-ой !!! А чтобы отключить lib файлы можно сделать например так: View->Project Maneger, выделить ненужный lib файл и нажать Remove...

Nabi

bmiho  пасибо за помощь. Более менее разобрался с подключением библиотек к с++. Эх подключенние библиотек на делфи наопрядок проще.

petr2007

У меня таже ошибка для builder 6.0
а builder 5.0 работает нормально
программирую под компас 8.0 LT c проектом bldprjLT
ошибки как в задаваемом вопросе 26 штук
и еще пробовал на Visual C++ 2005 ошибок не выдает, открывает компас, создает файл, выдает сообщение (выполнить команду) но не рисует,
Кто нибудь знает в чем может быть проблема?