powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использование ibpp c Builder C++ 6 Pro
11 сообщений из 11, страница 1 из 1
Использование ibpp c Builder C++ 6 Pro
    #33399928
wcSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,

такая ерунда: пытаюсь для соединения с Firebird 1.5.2 использовать ibpp. Компилляция самой библиотеки прошла без проблем. Также тесты, что автоматически создаются отлично работают. Но вот использовать в бильдере не получается. И вроде все шаги выполнил:

1. Создал проект, к проекту присоединил ibppd.lib
2. Добавил заголовок #include <ibpp.h>
3. Код - проще не бывает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#include "ibpp.h"
int main()
{
     IBPP::Database db = IBPP::DatabaseFactory"localhost", "С:\путь\к\PROBA.FDB","SYSDBA", "masterkey"); 
     db->Connect();
     db->Disconnect();

     return  0 ;
}

Если просто компиллирую, не запуская программу, то все ок. Никаких ошибок. При запуске екзешника, правда, затем прога вываливается и винда настойчиво просит послать ошибку майкрософту :-) Если же программа не только компиллируется, но и запускается, то выдается ошибка памяти "EAccessViolation" бильдер указывает в файле "_numpunct.h" на строку "string grouping() const { return do_grouping(); }". Я даже ради интереса пробывал ее закомментировать, все равно сваливается на эту строку.

Может кто знает, как это побороть или подскажет, что делаю не правильно.

За помощь большое спасибо!
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33399975
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно, нужна какая-то инициализация библиотеки.
в которой, к примеру, вызывается LoadLibrary.

посмотри, какой нибудь ibpp_init(); должен быть :)
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400002
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитал доку. инициализация не нужна.
попробуй перенести файл с базой в более простое место. например в корень диска.

ну и главное. делай try{}catch{}; :)
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400065
wcSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробывал базу переносить - не, все то же самое. try - catch в проге конечно надо будет использовать, что уже и делал - к сожалению все то же самое.

Что интересно пробывал использовать IB API - там все работает без проблем, с теми же данными. Но IB API не могу использовать, так как С не знаю.
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400092
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, честно сказать, пытался разобраться с ibpp - не смог, плюнул, и написал свои классы обертки для API.
чем и пользуюсь до сих пор.
однако они не лишены минусов(местами значительных), посему до сих пор мучаюсь сомнениями, продолжать или всеже осилить ibpp :)
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400187
wcSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я скажем так буквально за один шаг до того же самого :-) Правда с написанием своих классов я думаю ничего пока не выйдет. Не достаточно знаю С, чтобы писать классы на IB API. У меня такое впечатление создалось, что все же ibpp не тестируется на бильдере нормально, а скорее на VC++ или под линуксом.

alex_k все равно спасибо за помощь.
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400457
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратный слеш сделай двойным:
IBPP::Database db = IBPP::DatabaseFactory("localhost", "С:\\путь\\к\\PROBA.FDB","SYSDBA", "masterkey");
Иногда помогает.
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400485
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о!
я вообще всегда пишу / такой слэш, все библиотеки хавают :)
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400759
wcSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Е МОЕ,

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

Вообщем преогромное спасибо, SnowMan2
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400809
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще gcc на такие слэши неправильные, варнинги кидает.
Но не всегда :)
...
Рейтинг: 0 / 0
Использование ibpp c Builder C++ 6 Pro
    #33400830
wcSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати alex_k ты оказался тоже прав - поставил такой слеш "/" и тоже все ок. И справедливости ради надо сказать, что в документации стоит именно этот "/". Так что простите - был не прав :-) И чего я повелся на виндовские обратные слеши...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использование ibpp c Builder C++ 6 Pro
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]