powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / IBXFBUtils - упрощаем разработку приложений БД Firebird
55 сообщений из 55, показаны все 3 страниц
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787122
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Представляю вниманию Delphi-программистов библиотеку функций IBXFBUtils.
Библиотека позволяет упростить разработку приложений БД Firebird, а также самих баз данных.
Наиболее значимые возможности библиотеки:
- создание базы данных с нуля (со всеми таблицами, полями, хранимыми процедурами и т.п.);
- добавление в БД новых объектов в любое время, исправление некоторых объектов;
- пул подключений;
- хранение разнородной конфигурационной информации в БД (по типу INI-файлов, но возможностей намного больше);
- простые функции для резервирования / восстановления БД;
- функции для модификации данных;
- и многое другое.

Библиотека основана на компонентах IBX, поэтому, если Вы используете IBX, то можете подключить IBXFBUtils к своему проекту и получите новые возможности.

Более подробную информацию читайте в СТАТЬЕ .
Библиотеку можно скачать c гитхаба: https://github.com/loginov-dmitry/ibxfbutils
(старая ссылка - уже неактуально архив ).

Конструктивные замечания, пожелания и критика приветствуются.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787152
debose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какие условия использования библиотеки? Не нашёл упоминаний ни в статье ни в исходниках.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787169
A-n-d-r-e-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так появилась статья Почему мне нравится Firebird .
ссылка на:
file:///C:/Users/Dima/AppData/Local/Temp/www.loginovprojects.ru/index.php?page=whyfirebird
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787175
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по компоненту DBStruct: было бы здорово сделать редактирование структуры БД в дизайнтайме через редакторы свойств (т.е. не в коде всю ее держать, а в DFM)

я правильно понял, что TDBStruct.CheckDefDataBaseStruct делает проверку на наличие в базе всех описанных в компоненте объектов и создает все недостающие? если реализовать редактирование структуры БД в дизайнтайме, эту операцию тоже можно было бы делать в дизайнтайме (подобно действиям, происходящим при назначени TIBDatabase.Connected=True даблкликом мышкой в инспекторе)

т.к. после изменения структуры БД приходится создавать/редактировать компоненты доступа к таблицам (TIBTable/TIBDataset) и компоненты отображения данных, вышеописанное позволило бы это делать сразу же (не запуская программу для отрабатывания CheckDefDataBaseStruct)

тогда условную сверхзадачу "ibexpert - на свалку" можно было бы считать решенной

вообще, в перспективе развития подобного компонента мерещится решение проблемы двойного/тройного редактирования (1 - структуры БД, 2 - компонент доступа, 3 - компонент отображения), но элегантно эту проблему вряд ли удалось бы решить, слишком много сложностей...
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787250
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При исправлении описания объектов "Поле", "Первичный ключ", "Внешний ключ", "Индекс", "Домен", "Проверка" коррекция БД не производится. очень жаль!
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787260
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deboseА какие условия использования библиотеки? Не нашёл упоминаний ни в статье ни в исходниках.

Безо всякий условий, гарантий и прочего. Библиотека бесплатная.

Забыл отметить: тестирование производилось на D7, D2007, XE2 x86, FB2.0, FB2.1, FB2.5.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787261
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-n-d-r-e-yТак появилась статья Почему мне нравится Firebird .
ссылка на:
file:///C:/Users/Dima/AppData/Local/Temp/www.loginovprojects.ru/index.php?page=whyfirebird

Спасибо, исправлено!
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787267
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2При исправлении описания объектов "Поле", "Первичный ключ", "Внешний ключ", "Индекс", "Домен", "Проверка" коррекция БД не производится. очень жаль!

Возможно в перспективе подобный функционал появится.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787269
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2тогда условную сверхзадачу "ibexpert - на свалку" можно было бы считать решенной


Никогда не задумывался
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787272
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
A-n-d-r-e-yТак появилась статья Почему мне нравится Firebird .
ссылка на:
file:///C:/Users/Dima/AppData/Local/Temp/www.loginovprojects.ru/index.php?page=whyfirebird

Гы. Забавно - в статье противопоставляется Firebird и MS SQL Server.
Аффтар, поди, и не знает, что на свете есть ещё и Oracle ?
По крайней мере, в статье про эту СУБД ни единого упоминания нет.
А стоило бы упомянуть, поскольку MS SQL Server и Oracle RDBMS - прямые конкуренты.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787273
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста, давайте не будем обсуждать эту статью здесь (это бесконечный процесс, к тому же ветка для обсуждения есть на соседнем форуме).
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787295
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DmSerПожалуйста, давайте не будем обсуждать эту статью здесь (это бесконечный процесс, к тому же ветка для обсуждения есть на соседнем форуме).

Это в ПТ, что ли ? Я там не бываю ))))
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787306
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorЭто в ПТ, что ли ? Я там не бываю ))))это здесь: http://www.sql.ru/forum/actualthread.aspx?tid=927077
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37787884
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmSerxen2> ...условную сверхзадачу "ibexpert - на свалку"...
Никогда не задумывалсяну, это я слишком сильно сказал
однако, пмсм, традиция того, что даже для простейших задач по созданию/редактированию БД необходимо использовать некий отдельный инструмент (Database Desktop / Expert / Manager / Management Studio / Developer / etc) кажется уже какой-то закосневшей

средства для этого вполне могли бы прилагаться к тем или иным компонентам доступа (их авторами, на эмбаркадеро надежды мало)

(в порядке маниловских мечт)
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37790399
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь пробовал компилировать проект, есть ли замечания?
Особенно интересует D2009, D2010, XE (в какой-то из них произошли довольно значительные изменения в IBX).
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37790957
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

GDS32.dll - "люминь"? Из-за "родителя" (IBX)?
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791245
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, кто у кого "родитель", но
так было, есть и будет! )
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791375
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerНе знаю, кто у кого "родитель", но
так было, есть и будет! )
IBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName?
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791380
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vvmDmSerНе знаю, кто у кого "родитель", но
так было, есть и будет! )
IBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName?

ЗАчем тебе это вообще использовать, если ты не знаешь, что такое GDS32.dll ?
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791385
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorvvmпропущено...

IBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName?

ЗАчем тебе это вообще использовать, если ты не знаешь, что такое GDS32.dll ?
Вопрос переформулируй.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791393
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vvmdefecatorпропущено...


ЗАчем тебе это вообще использовать, если ты не знаешь, что такое GDS32.dll ?
Вопрос переформулируй.

Он достаточно чётко написан.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791400
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorvvmпропущено...

Вопрос переформулируй.

Он достаточно чётко написан.
Ну, тогда отвечай сам.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791778
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при запуске теста "Коррекция структуры БД" выдает:
Код: plaintext
1.
Ошибка при проверке БД: unsuccessful metadata update
key size exceeds implementation restriction for index "CONFIGPARAMS_PK" (код: 168)
D7 Lite Full / FB2.1 / Win XP SP3
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791781
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vvmIBX тут ни при чем, что ли?DmSerБиблиотека основана на компонентах IBX
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37791797
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xen2
Код: plaintext
1.
unsuccessful metadata update 
key size exceeds implementation restriction for index "CONFIGPARAMS_PK" (код: 168)
обновил ФБ до 2.1.3 и удалил созданную тестом ранее БД (пустую) - теперь все нормально
похоже, у ФБ размер страницы по умолчанию изменился
http://www.firebirdfaq.org/faq211/ For Firebird 1.x the maximum index key size is 252 bytes. For Firebird 2.x it's the quarter of the page size (1024 bytes for 4k page).
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37792344
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2при запуске теста "Коррекция структуры БД" выдает:
Код: plaintext
1.
Ошибка при проверке БД: unsuccessful metadata update
key size exceeds implementation restriction for index "CONFIGPARAMS_PK" (код: 168)
D7 Lite Full / FB2.1 / Win XP SP3

Что это была за версия FB2.1 (может betta)?
Я до сих пор использую самый первый релиз FB2.1, ни разу с ним проблем не имел )
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37792345
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2похоже, у ФБ размер страницы по умолчанию изменился


В библиотеке константой задан размер страницы 8 КБ.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37792554
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmSerЧто это была за версия FB2.12.1.0.17798
Firebird_v2.1.3.BugFixes.pdf Firebird 2.1 Release Candidate 2
(CORE-1715) A “key size exceeds implementation restriction for index” exception was being wrongly returned under some conditions.похоже, оно
а я думал, что это у меня релиз
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37792605
DelphiCoder_1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторIBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName?

Я бы не стал так категорично задавать вопрос, но считаю, что добавить это свойство было бы очень полезно.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37792610
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DelphiCoder_1980Я бы не стал так категорично задавать вопрос, но считаю, что добавить это свойство было бы очень полезно.
Помнится, IBX пользуют только gds32.dll (ну, или fbclient.dll, переименованную в gds32). Поэтому смысла в этом свойстве, имхо, нет.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37792612
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DelphiCoder_1980добавить это свойство было бы очень полезно.а какому компоненту вы хотите его добавить?
(очевидно, наследнику TIBDatabase, ну так его еще специально для этого делать пришлось бы)
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793136
DelphiCoder_1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторочевидно, наследнику TIBDatabase, ну так его еще специально для этого делать пришлось бы

Однозначно. ИМХО, некорректно заявлять о поддержке Firebird и не иметь такого свойства. Ведь в разных редакциях FB имя клиентской либы - разное.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793707
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DelphiCoder_1980Ведь в разных редакциях FB имя клиентской либы - разное.

Про какие редакции идет речь?
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793884
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DelphiCoder_1980авторIBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName?

Я бы не стал так категорично задавать вопрос, но считаю, что добавить это свойство было бы очень полезно.

Сомневаюсь, что авторы библиотеки IBX пойдут на это. GDS32.dll жестко зашита в недрах IBX, врядли с этим что-то сделаешь. В качестве выхода из ситуации я предлагаю явно указывать месторасположение библиотеки GDS32.dll в модуле fbUtilsLoading.pas
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793909
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще имена библиотек зависят от разрядности. у ИБ это gds32.dll и ibclient64.dll.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793915
DelphiCoder_1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПро какие редакции идет речь?

Возможные варианты:
1. InterBase, Firebird 1.0 - gds32.dll
2. Firebird 1.5 и выше - fbclient.dll
3. Firebird Embedded 1.5 и выше - fbembed.dll

авторСомневаюсь, что авторы библиотеки IBX пойдут на это.

Да, они точно не пойдут. Впрочем, Ваш вариант можно рассмотреть. Или действительно подумать о наследнике IBDatabase.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793918
DelphiCoder_1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv, спасибо за дополнение.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793964
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvа еще имена библиотек зависят от разрядности. у ИБ это gds32.dll и ibclient64.dll.

Поддержка 32-разрядной IBX досталась Firebird'у по наследству, но сомневаюсь, что кто-нибудь возьмется за реализацию ibclient64.dll под Firebird... :(
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37793970
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerчто кто-нибудь возьмется за реализацию ibclient64.dll под Firebird
дело не в этом, а в том, что IBX, который в XE2 входит, должен быть заточен под gds32/ibclient64.dll. В то время как у Firebird и 32 и 64 битный клиент называется fbclient.dll. А instclient.exe, насколько я помню, умеет генерить только 32-битные gds32.dll из 32битного же fbclient.dll.
Так что возможность выбора либы вполне оправдана для многих случаев.

p.s. с "голым" fbclient.dll, переименованным в gds32.dll, не работают компоненты admin, т.к. в коде ibx идет проверка на версию dll.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37794366
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делов то - скопировать IBHeader.pas себе в проект и подредактировать 1 строчку с 'gds32.dll'
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #37794373
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> не работают компоненты admin, т.к. в коде ibx идет проверка на версию dll
тогда скопировать IBIntf.pas и еще чутка подредактировать
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39706700
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Библиотека ibxFBUtils обновлена.
Ссылка на проект на гитхабе - в первом сообщении топика.

Ссылки на SF - устарели https://sourceforge.net/p/loginovprojects/code-0/HEAD/tree/trunk/ibxfbutils
Для SVN-клиента: svn://svn.code.sf.net/p/loginovprojects/code-0/trunk/ibxfbutils/

Фактически закоммичен рабочий вариант библиотеки (он используется на работе) со всеми последними изменениями. На работе используем Delphi2007, основное тестирование осуществляется именно с этой версией Delphi. Основанные на ibxfbutils решения фактически экслуатируются месяцами, в некоторых случаях - годами (службы на серверах), без перезапуска ПО.

Что нового (попытаюсь за 20 минут вспомнить основные изменения за последние 5 лет):

1. Исправлена работа с пулом подключений и с fb.Ini. За несколько лет эксплуатации были выявлены проблемы, они устранены.

2. Выполнен ряд корректировок для ускорения взаимодействия между клиентом и сервером по медленным каналам связи. Выяснилось, что если канал связи менее 1 МБит/с (на практике - через Интернет, либо через VPN, либо через медленный WiFi), то запросы существенно тормозят. Это происходит из-за необходимости препарации запросов (Prepare). Причем сам запрос выполняется чаще всего гораздо быстрее, чем его препарация (видимо, этап препарации состоит из нескольких обращений к СУБД). Для решения данной проблемы введёны дополнительные методы (например, fb.GetDataSet, fb.GetAndOpenDataSet), которые по тексту SQL-запроса отыскивают и возвращают существующий датасет. При завершении работы с таким датасетом достаточно вызвать метод TIBDataSet.Close (вместо Free). В качестве владельца таким датасетам назначается объёкт TIBTransaction.
Следует учитывать, что если в датасете изменить текст SQL-запроса, либо завершить транзакцию, то информация о препарированных запросах будет потеряна (при следующем запросе операция Prepare будет выполнена заново).
2.1 Методы fb.UpdateRecord, fb.InsertRecord, fb.DeleteRecord внутри используют функцию FBGetDataSet, что позволяет существенно ускорить вставку/обновление/удаление множества записей в одной транзакции на медленном канале связи.
2.2 В Метод fb.GenID добавлена возможность указания объекта TIBTransaction (раньше передавался только объект TIBDatabase, а транзакция на запись создавалась каждый раз автоматически).
2.3 В пуле подключений транзакции на чтение теперь остаются всегда активными (это необходимо учитывать, если SQL-запросы включают функцию LIST, т.к. в памяти остаются объекты, до тех пор, пока транзакция не будет завершена).
3. Исключение, возникающее в функции FBDisconnectDB при вызове TIBDatabase.Connected := False теперь перехватывается и никак не обрабатывается. Выяснилось, что нет никакого смысла пытаться обработать подобные ситуации, а если исключение не заглушить, то программа не сможет корректно обработать ошибку.
4. Добавлен метод GetCurrentDateTime.
5. Добавлены методы GetTableFieldValue, GetTableFieldValues, избавляющие от необходимости объявлять переменную TIBDataSet в том случае, если из таблицы запрашивается лишь одна запись.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39706818
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

вы молодец, что делитесь наработками.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39706933
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,
6 лет как 6 дней. вот же время летит!
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39710026
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнDmSer,

вы молодец, что делитесь наработками.

Данный проект изначально разрабатывался во внерабочее время, т.е. дома. Проектами, которые разработаны в рабочее время, делиться совесть не позволяет :)

Кстати, вот ещё решил обновить проект LDSLogger. Ссылка для SVN-клиента:
https://svn.code.sf.net/p/loginovprojects/code-0/trunk/ldslogger

По сравнению с тем, что было раньше - решены проблемы с производительностью в режиме LazyWrite:
Раньше каждая строка записывалась в лог отдельно, из-за этого бывали случаи, когда данные в лог писались медленнее, чем программа вызывала метод LogStr(), что могло приводить к ошибке Out of memory. Cейчас сначала формируется буфер из всех строк, которые нужно записать, а затем одним разом буфер пишется в файл. Опять же, основное тестирование выполняется в D2007.

Решение поддерживает одновременно множество лог-файлов (конкретно в моём приложении может выполняться обмен с сотнями контроллеров, для каждого контроллера отводится свой лог-файл). При этом никаких тормозов в режиме LazyWrite не возникает (в виде чрезмерной нагрузки на диск и следствие - синий экран), поскольку вся запись выполняется через один единственный поток.

Также в один лог-файл могут писать несколько приложений, потери данных не возникает, синхронизация выполняется с помощью мьютекса.

К сожалению, для лазаруса решение не обновлялось.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39710171
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

На каких то еще версиях Delphi оно работает (проверялось) старше 2007-й?
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39710227
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FDmSer,

На каких то еще версиях Delphi оно работает (проверялось) старше 2007-й?

Предыдущая версия проверялась. Новая не проверялась. И как показывает тестирование, не работает :(
Эх, жаль. Если повезёт и найдётся времени, то я разберусь что поломалось.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39710271
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

А явное указание LibraryName к ней приделал?
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39710459
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FDmSer,

А явное указание LibraryName к ней приделал?

Мой предыдущий пост был про логгер. Он не заработал в D10.2.3. Я про это написал.
Вы уточняйте, о чём спрашиваете.

ibxFBUtils работает в последних версиях Delphi. Насколько стабильно - не знаю. Зависит больше от самих компонентов IBX (они же вроде сейчас - кроссплатформенные, и под Android / IOS / Linux должны работать).
LibraryName я не приделывал. В планах такого не было.
Если Embarcadera решила сделать IBX кроссплатформенными (т.е. вроде не отказываются от их развития), то могли бы догадаться:
1. что реальным разработчикам ПО необходимо иметь 2 транзакции (на чтение и запись). Вариант с одной транзакцией по их логике - это чисто локальные БД без какой-либо гарантии сохранности данных.
2. что многие разработчики (если не большинство) используют IBX для работы с Firebird, поэтому необходимо LibraryName :)
Я уж и не говорю по 64-разрядные приложения.

На самом деле нет никакой проблемы с использованием GDS32.dll для IBX. Достаточно кинуть fbclient.dll, а с ним ещё пяток файлов в папку своей программы (лучше создать под них отдельную папку) и переименовать в GDS32.dll (на самом деле есть несколько вариантов).
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39711042
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

Я конкретно спросил про LibraryName, вопрос с которой уже поднимался в данной теме. К чему поначалу было делать вид, что не понял вопроса? К тому же непонятна упомянутая связь кроссплатформенности и двух транзакций, а также кроссплатформенности и того, что испрользуют многие разработчики. Кроме того, в новых версиях IBX переименования fbclient в gds32 уже недостаточно, там все осложнилось и допиливание в этой части IBX требует нетривиальных усилий. В общем, боюсь, что без поддержки новых версий Delphi и допиливания LibraryName твои наработки не нужны никому абсолютно.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39711046
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более, когда в комплекте идет FireDAC.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39711200
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FТем более, когда в комплекте идет FireDAC.
Ты, конечно же, потрогал библиотеку и без проблем нашел в фаердаке все это:
автор- создание базы данных с нуля (со всеми таблицами, полями, хранимыми процедурами и т.п.);
- добавление в БД новых объектов в любое время, исправление некоторых объектов;
- пул подключений;
- хранение разнородной конфигурационной информации в БД (по типу INI-файлов, но возможностей намного больше);
- простые функции для резервирования / восстановления БД;
- функции для модификации данных;
- и многое другое.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39711413
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FDmSer,

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

Если Вам что-то непонятно, перечитайте внимательно ещё раз. По-моему, доступно написал.

Кроме того, в новых версиях IBX переименования fbclient в gds32 уже недостаточно, там все осложнилось и допиливание в этой части IBX требует нетривиальных усилий.

Я запускал тесты для Win32 в Delphi Tokyo - вроде заработало. Я в курсе, что с таким подходом (переименование) какой-то функционал IBX не заработает. На этот случай при установке Firebird есть пункт "Создать клиентскую библиотеку для унаследованных приложений", там всё по уму должно быть.


В общем, боюсь, что без поддержки новых версий Delphi и допиливания LibraryName твои наработки не нужны никому абсолютно.

Я не буду расстраиваться.
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39711531
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На каждое благое дело найдется свой тролль, обязательно
...
Рейтинг: 0 / 0
IBXFBUtils - упрощаем разработку приложений БД Firebird
    #39711533
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123На каждое благое дело найдется свой тролль, обязательно
Мнением человека, возводящего себя в абсолют можно пренебречь как белым шумом.
не нужны никому абсолютно.
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / IBXFBUtils - упрощаем разработку приложений БД Firebird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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