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

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

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

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

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

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

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

Проблемы создания многооконного приложения и включения Ks_TLB.h

Автор Bumsi, 03.05.07, 22:25:47

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

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

Bumsi

Так как я сейчас делаю диплом по этой злосчастной связке Builder C++ 6 и Компас 8+, то мне необходима Ваша помощь, уважаемые форумчане.. помогите чем можете.. :)

Итак .. проблема номер раз не совсем связанная с Компасом... я делаю прикладную библиотекук Компасу, при этом разные части программы у меня должны находится в разных срр файлах.... так вот возникла следующая проблема.. при создании второй части я подключаю к ней h файл первой, чтобы данные которые я просчитал в первой части можно было бы пользовать и во второй.... но есть один момент.... при компиляции билдер ведёт себя так как-будто не видит этого инклюда.... никто не знает в чём проблема??

и проблема номер два... на сегодняшний момент....  это вот эта команда.... #include <Ks_TLB.h> .... я видел лишь несколько библиотек, в которых данный файл подключался без проблем.. в остальных он сам просто начинал выдавать ошибки.......
и ещё раз спасибо заранее за ваши ответы......

Bumsi

Кстати.... что бы не быть эгоистом предлогаю всем начинающим и чайникам писать сюда для совместного решения проблемм!!!!!!!!!

Bordes

Выложите хоть куски кода. А то по описанию трудно диагностировать причину.
Может вы подключение своего инклудника в ввиде <***.h> пишете вместо "***.h" ?

Администратор

Уважаемый Bumsi!

Убедительно прошу Вас самостоятельно исправить название темы на более информативное, соответствующее её содержанию.

И в дальнейшем создавать темы с вразумительными названиями, при прочтении коротых будет понятно, о чем речь пойдет внутри.

Кром того, в высшей степени желательно создавать одну тему для обсуждения одного вопроса. В теме, где смешаны разные вопросы, бывает очень трудно разобраться.

Спасибо за понимание.



Bumsi

Ну вроде вразумительное название....


Bordes

Существует 3 срр файла..... первый- это точка входа... вглядит так:


#include <vcl.h>
#include <windows.h>
#include "libtool.h"
#include "postroen_.h"
#include "pered_ugol.h"

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
        return 1;
}
extern "C" void __export __pascal LIBRARYENTRY( unsigned int )
{

HWND wKompas=GetHWindow();
Application->Handle=wKompas;

postroen = new Tpostroen(Application);
pere_ugol = new Tpere_ugol(Application);
postroen->Show();
}


//---------------------------------------------------------------------------

Далее идёт второй с вот такими включениями:


#ifndef _WINDOWS_
#include <windows.h>
#endif
#ifndef __LIBTOOL_H
#include "libtool.h"
#endif

#ifndef __LIBOLD_H
#include "libold.h"
#endif

#include <ldefin2d.h>
#include <ldefin3d.h>
#include <stdio.h>
#include <vcl.h>
#include <math.h>
//#include <Ks_TLB.h>
#include "postroen_.h"
#include "pered_ugol.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

а следом третий с вот такими инклудами..


#ifndef _WINDOWS_
#include <windows.h>
#endif

#ifndef __LIBTOOL_H
#include "libtool.h"
#endif

#ifndef __LIBOLD_H
#include "libold.h"
#endif

#include <stdio.h>
#include <vcl.h>
#include <math.h>
#include "pered_ugol.h"
#include "postroen_.h>"
#include <ldefin2d.h>

#pragma hdrstop


//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"


Все имена десять раз проверялись и перепроверялись... ругатся начинает во третьем файле, в котором я использую переменные из второго.... он говорит, что они мол не определены..... вот такая проблема...... :(


Забыл сказать... если ставишь абсолютную ссылку на переменную (типа Form1->y ) то он всё нормально видит.........

Bordes

Цитата: Bumsi от 04.05.07, 13:58:43

Все имена десять раз проверялись и перепроверялись... ругатся начинает во третьем файле, в котором я использую переменные из второго.... он говорит, что они мол не определены..... вот такая проблема...... :(


Забыл сказать... если ставишь абсолютную ссылку на переменную (типа Form1->y ) то он всё нормально видит.........

Код можно архивом прилагать.
Ругается при компиляции? - Можно увидеть дословно сообщение и ту строку(и) на которую компилятор ругается.

"Забыл сказать... если ставишь абсолютную ссылку на переменную (типа Form1->y ) то он всё нормально видит......... "
Надеюсь, вы не пытаетесь использовать переменную класса вне метода этого класса или без объекта этого класса.....  :shu:

Bumsi

Ругается вот так:
[C++ Error] pered_ugol.cpp(50): E2451 Undefined symbol 'y1'
[C++ Error] pered_ugol.cpp(50): E2451 Undefined symbol 'tochn'

"Надеюсь, вы не пытаетесь использовать переменную класса вне метода этого класса или без объекта этого класса..... "
это Вы сейчас по русски говровите?? и со мной??? :)

и ещё один косячок....... он ругается вот так вот..
[C++ Error] pered_ugol.cpp(50): E2303 Type name expected
[C++ Error] pered_ugol.cpp(50): E2238 Multiple declaration for 'h'
[C++ Error] pered_ugol.cpp(38): E2344 Earlier declaration of 'h'

но при этом h определена единожды и определение стоит в начале этого окна.....

Bordes

Строки на которые ругается забыли показать....

Скорее всего, без просмотра исходного текста помочь не смогу...

Bumsi

Хорошо.. пришлите пожалуйста мне адрес своей почты в личку и я  вам вышлю исходник...

Bumsi

Разобрались с нераспознаванием переменных... как я и предположил необходимо указывать полный путь (Form1->x) .... осталась одна проблемка.... кто что-нибудь знает про Ks_TKB???

bmiho

Про Ks_TLB.h в теме C++ Builder 6.0 несколькими строками ниже...

Bumsi

Извините, а нельзя ли по конкретней рассказать про эту перекомпиляцию... а то что-то я ничего не понимаю.... :(

bmiho

KS_TLB.h - необходимо подключать при использовании Automation. Если пользоваться исключительно API экспортных функций этот файл не нужен. Подключить вместе KS_TLB.h и libtool.h возможно, но тогда возможны сложности с двусмысленностью определений в этих файлах. Проще сразу выбрать что использовать - Automation или экспортные функции. Если Automation, то в теме C++ Builder 6.0 подробно написано (не пойму, что там может быть не понятно...), что нужно сделать, чтобы подключится к Компасу... Если экспортные функции, то все еще проще: в файле пишем: #include "libtool.h", добавляем kAPI2D5bc.lib и(или) kAPI3D5bc.lib в проект и вперед :)

Bumsi