|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Под одной темой, чтоб не мучиться. :) Удручает отсутствие метода clone или корректно реализованного оператора копирования у интерфейса IXpbBuilder. К примеру, имеем кейс: создаётся некий первоначальный DPB (IXpbBuilder), который перед подключением к базе должен копироваться в другой с последующим добавлением isc_dpb_user_name, isc_dpb_password и isc_dpb_sql_role_name. Чтобы реализовать подобное существующими средствами, придётся собирать unsigned char массив DPB из буферов двух IXpbBuilder, что не очень неудобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 03:15 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Ещё вопросик возник - у вас файл <firebird/IdlInterfaces.h> генерируется с помощью какой-то утилиты или же пишется вручную? Есть ли смысл делать копию этого файла и фигачить туда документацию в формате doxygen? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 04:35 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
по первому пункту - для этого есть трекер. По второму - достаточно посмотреть на первую строчку оного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 11:00 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
rdb_devЧтобы реализовать подобное существующими средствами, придётся собирать unsigned char массив DPB из буферов двух IXpbBuilder, что не очень неудобно. А, может, всё же стоит почитать документацию (пусть и скудную) повнимательнее? Новые тэги можно добавлять либо прямо в старый билдер (с заменой существующих), либо из старого получить буфер, которым и инициализировать новый. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 13:25 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, я не нашёл документацию с подробным описанием методов интерфейса IXpbBuilde, а список его методов я и так в IDE вижу. Да, выгрузка в буфер, а потом загрузка этого буфера, как исходного для нового IXpbBuilder, работает. Ночью меня при отладке смутило, что новые кламплеты при выгрузке попадают в начало буфера, а не в конец и решил, что затираются предыдущие. Сейчас повнимательней посмотрел, не затираются - сдвигаются. Но всё равно приходится выгружать в буфер, а потом загружать и было бы удобней делать это через clone. Также мне показалось странным, что в обёртке только один вариант вызова attachDatabase - с передачей указателя на начало байтового буфера DPB и его размера (точнее, сначала размера, потом указателя), но нет варианта с передачей указателя на IXpbBuilder. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 18:24 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Потому что это API делалось тяп-ляп, простой группировкой функций старого API в методы класса по типу первого хэндла. С сохранением сигнатур (в большинстве случаев) и без попыток улучшения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 18:43 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 18:49 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
dimitr, увидел! :) Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 19:38 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
ИМХО, интерфейсу IMessageMetadata не хватает таких же методов, как у IXpbBuilder - getBuffer() и getBufferLength() для доступа к XSQLDA как есть. Иногда это и удобнее и быстрее, чем дёргать методы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 16:52 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Этот класс не обёртка над старым API, у него нет XSQLDA внутри. В отличии от. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 17:14 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, иными словами, внутренняя структура XSQLDA в IMessageMetadata не совпадает со структурой ISC API? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 10:20 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
rdb_dev, иными словами никакой внутренней XSQLDA в IMessageMetadata не существует ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 10:30 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
rdb_dev, видимо ты не очень разобрался с новым API. В IMessageMetadata нет никакого буфера, это только описание самих метаданных для работы с буфером. И таки getMessageLength будет аналогом getBufferLength. Чтобы уменьшить накладные расходы на дёргание методов. Ты можешь сам создать массив структур, который можно заполнить из IMessageMetadata единожды, а потом тупо обращаться к этой структуре по индексу. Посмотри примеры 03.select.cpp и 04.print_table.cpp ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 10:46 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
Симонов Денис, я не разбирался в внутренним устройством клиентской библиотеки, а OO API, это лишь набор классов с методами, полностью скрывающими реализацию, включая внутренние структуры данных. Если IMessageMetadata не использует у себя в реализации структуру XSQLDA, ну чтож... На нет и суда нет! Значит вытащить буфер с XSQLDA невозможно в принципе. Спасибо за информацию! P.S. Примеры видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 10:58 |
|
Книга отзывов и предложений по OOAPI libfbclient
|
|||
---|---|---|---|
#18+
rdb_dev, новый API предполагает что такие структуры будут создавать сами разработчики компонентов доступа. Зато это снимает все ограничения по длине идентификаторов например. В старую XSQLDA ты идентификаторы длиннее 31 байта не засунешь. Теоретически можно самому сделать XSQLDA2 и функции для работы с ней. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 11:03 |
|
|
start [/forum/topic.php?fid=40&fpage=7&tid=1560064]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 174ms |
0 / 0 |