|
|
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Представляю вниманию Delphi-программистов библиотеку функций IBXFBUtils. Библиотека позволяет упростить разработку приложений БД Firebird, а также самих баз данных. Наиболее значимые возможности библиотеки: - создание базы данных с нуля (со всеми таблицами, полями, хранимыми процедурами и т.п.); - добавление в БД новых объектов в любое время, исправление некоторых объектов; - пул подключений; - хранение разнородной конфигурационной информации в БД (по типу INI-файлов, но возможностей намного больше); - простые функции для резервирования / восстановления БД; - функции для модификации данных; - и многое другое. Библиотека основана на компонентах IBX, поэтому, если Вы используете IBX, то можете подключить IBXFBUtils к своему проекту и получите новые возможности. Более подробную информацию читайте в СТАТЬЕ . Библиотеку можно скачать c гитхаба: https://github.com/loginov-dmitry/ibxfbutils (старая ссылка - уже неактуально архив ). Конструктивные замечания, пожелания и критика приветствуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 00:03 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
А какие условия использования библиотеки? Не нашёл упоминаний ни в статье ни в исходниках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 02:15 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Так появилась статья Почему мне нравится Firebird . ссылка на: file:///C:/Users/Dima/AppData/Local/Temp/www.loginovprojects.ru/index.php?page=whyfirebird ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 03:48 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
по компоненту DBStruct: было бы здорово сделать редактирование структуры БД в дизайнтайме через редакторы свойств (т.е. не в коде всю ее держать, а в DFM) я правильно понял, что TDBStruct.CheckDefDataBaseStruct делает проверку на наличие в базе всех описанных в компоненте объектов и создает все недостающие? если реализовать редактирование структуры БД в дизайнтайме, эту операцию тоже можно было бы делать в дизайнтайме (подобно действиям, происходящим при назначени TIBDatabase.Connected=True даблкликом мышкой в инспекторе) т.к. после изменения структуры БД приходится создавать/редактировать компоненты доступа к таблицам (TIBTable/TIBDataset) и компоненты отображения данных, вышеописанное позволило бы это делать сразу же (не запуская программу для отрабатывания CheckDefDataBaseStruct) тогда условную сверхзадачу "ibexpert - на свалку" можно было бы считать решенной вообще, в перспективе развития подобного компонента мерещится решение проблемы двойного/тройного редактирования (1 - структуры БД, 2 - компонент доступа, 3 - компонент отображения), но элегантно эту проблему вряд ли удалось бы решить, слишком много сложностей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 04:45 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
При исправлении описания объектов "Поле", "Первичный ключ", "Внешний ключ", "Индекс", "Домен", "Проверка" коррекция БД не производится. очень жаль! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 08:52 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
deboseА какие условия использования библиотеки? Не нашёл упоминаний ни в статье ни в исходниках. Безо всякий условий, гарантий и прочего. Библиотека бесплатная. Забыл отметить: тестирование производилось на D7, D2007, XE2 x86, FB2.0, FB2.1, FB2.5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:12 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
A-n-d-r-e-yТак появилась статья Почему мне нравится Firebird . ссылка на: file:///C:/Users/Dima/AppData/Local/Temp/www.loginovprojects.ru/index.php?page=whyfirebird Спасибо, исправлено! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:15 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
xen2При исправлении описания объектов "Поле", "Первичный ключ", "Внешний ключ", "Индекс", "Домен", "Проверка" коррекция БД не производится. очень жаль! Возможно в перспективе подобный функционал появится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:20 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
xen2тогда условную сверхзадачу "ibexpert - на свалку" можно было бы считать решенной Никогда не задумывался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:21 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
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 - прямые конкуренты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:23 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Пожалуйста, давайте не будем обсуждать эту статью здесь (это бесконечный процесс, к тому же ветка для обсуждения есть на соседнем форуме). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:29 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSerПожалуйста, давайте не будем обсуждать эту статью здесь (это бесконечный процесс, к тому же ветка для обсуждения есть на соседнем форуме). Это в ПТ, что ли ? Я там не бываю )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:48 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
defecatorЭто в ПТ, что ли ? Я там не бываю ))))это здесь: http://www.sql.ru/forum/actualthread.aspx?tid=927077 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 09:57 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSerxen2> ...условную сверхзадачу "ibexpert - на свалку"... Никогда не задумывалсяну, это я слишком сильно сказал однако, пмсм, традиция того, что даже для простейших задач по созданию/редактированию БД необходимо использовать некий отдельный инструмент (Database Desktop / Expert / Manager / Management Studio / Developer / etc) кажется уже какой-то закосневшей средства для этого вполне могли бы прилагаться к тем или иным компонентам доступа (их авторами, на эмбаркадеро надежды мало) (в порядке маниловских мечт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 14:29 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь пробовал компилировать проект, есть ли замечания? Особенно интересует D2009, D2010, XE (в какой-то из них произошли довольно значительные изменения в IBX). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 09:16 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSer, GDS32.dll - "люминь"? Из-за "родителя" (IBX)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 13:31 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Не знаю, кто у кого "родитель", но так было, есть и будет! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 15:50 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSerНе знаю, кто у кого "родитель", но так было, есть и будет! ) IBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 16:55 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
vvmDmSerНе знаю, кто у кого "родитель", но так было, есть и будет! ) IBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName? ЗАчем тебе это вообще использовать, если ты не знаешь, что такое GDS32.dll ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 16:57 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
defecatorvvmпропущено... IBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName? ЗАчем тебе это вообще использовать, если ты не знаешь, что такое GDS32.dll ? Вопрос переформулируй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 16:59 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
vvmdefecatorпропущено... ЗАчем тебе это вообще использовать, если ты не знаешь, что такое GDS32.dll ? Вопрос переформулируй. Он достаточно чётко написан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 17:01 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
defecatorvvmпропущено... Вопрос переформулируй. Он достаточно чётко написан. Ну, тогда отвечай сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2012, 17:04 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
при запуске теста "Коррекция структуры БД" выдает: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 00:22 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
vvmIBX тут ни при чем, что ли?DmSerБиблиотека основана на компонентах IBX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 00:25 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
xen2 Код: plaintext 1. похоже, у ФБ размер страницы по умолчанию изменился 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). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 00:56 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
xen2при запуске теста "Коррекция структуры БД" выдает: Код: plaintext 1. Что это была за версия FB2.1 (может betta)? Я до сих пор использую самый первый релиз FB2.1, ни разу с ним проблем не имел ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 21:30 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
xen2похоже, у ФБ размер страницы по умолчанию изменился В библиотеке константой задан размер страницы 8 КБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 21:31 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
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.похоже, оно а я думал, что это у меня релиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 05:15 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
авторIBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName? Я бы не стал так категорично задавать вопрос, но считаю, что добавить это свойство было бы очень полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 08:10 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DelphiCoder_1980Я бы не стал так категорично задавать вопрос, но считаю, что добавить это свойство было бы очень полезно. Помнится, IBX пользуют только gds32.dll (ну, или fbclient.dll, переименованную в gds32). Поэтому смысла в этом свойстве, имхо, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 08:24 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DelphiCoder_1980добавить это свойство было бы очень полезно.а какому компоненту вы хотите его добавить? (очевидно, наследнику TIBDatabase, ну так его еще специально для этого делать пришлось бы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 08:31 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
авторочевидно, наследнику TIBDatabase, ну так его еще специально для этого делать пришлось бы Однозначно. ИМХО, некорректно заявлять о поддержке Firebird и не иметь такого свойства. Ведь в разных редакциях FB имя клиентской либы - разное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 13:38 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DelphiCoder_1980Ведь в разных редакциях FB имя клиентской либы - разное. Про какие редакции идет речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 18:39 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DelphiCoder_1980авторIBX тут ни при чем, что ли? Почему тогда нет свойства LibraryName? Я бы не стал так категорично задавать вопрос, но считаю, что добавить это свойство было бы очень полезно. Сомневаюсь, что авторы библиотеки IBX пойдут на это. GDS32.dll жестко зашита в недрах IBX, врядли с этим что-то сделаешь. В качестве выхода из ситуации я предлагаю явно указывать месторасположение библиотеки GDS32.dll в модуле fbUtilsLoading.pas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 21:27 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
а еще имена библиотек зависят от разрядности. у ИБ это gds32.dll и ibclient64.dll. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 21:46 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
авторПро какие редакции идет речь? Возможные варианты: 1. InterBase, Firebird 1.0 - gds32.dll 2. Firebird 1.5 и выше - fbclient.dll 3. Firebird Embedded 1.5 и выше - fbembed.dll авторСомневаюсь, что авторы библиотеки IBX пойдут на это. Да, они точно не пойдут. Впрочем, Ваш вариант можно рассмотреть. Или действительно подумать о наследнике IBDatabase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 21:50 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
kdv, спасибо за дополнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 21:52 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
kdvа еще имена библиотек зависят от разрядности. у ИБ это gds32.dll и ibclient64.dll. Поддержка 32-разрядной IBX досталась Firebird'у по наследству, но сомневаюсь, что кто-нибудь возьмется за реализацию ibclient64.dll под Firebird... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 22:28 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 22:32 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
делов то - скопировать IBHeader.pas себе в проект и подредактировать 1 строчку с 'gds32.dll' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 10:41 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
> не работают компоненты admin, т.к. в коде ibx идет проверка на версию dll тогда скопировать IBIntf.pas и еще чутка подредактировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 10:43 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Библиотека 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 в том случае, если из таблицы запрашивается лишь одна запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2018, 22:53 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSer, вы молодец, что делитесь наработками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 10:33 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSer, 6 лет как 6 дней. вот же время летит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 12:51 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Кроик СемёнDmSer, вы молодец, что делитесь наработками. Данный проект изначально разрабатывался во внерабочее время, т.е. дома. Проектами, которые разработаны в рабочее время, делиться совесть не позволяет :) Кстати, вот ещё решил обновить проект LDSLogger. Ссылка для SVN-клиента: https://svn.code.sf.net/p/loginovprojects/code-0/trunk/ldslogger По сравнению с тем, что было раньше - решены проблемы с производительностью в режиме LazyWrite: Раньше каждая строка записывалась в лог отдельно, из-за этого бывали случаи, когда данные в лог писались медленнее, чем программа вызывала метод LogStr(), что могло приводить к ошибке Out of memory. Cейчас сначала формируется буфер из всех строк, которые нужно записать, а затем одним разом буфер пишется в файл. Опять же, основное тестирование выполняется в D2007. Решение поддерживает одновременно множество лог-файлов (конкретно в моём приложении может выполняться обмен с сотнями контроллеров, для каждого контроллера отводится свой лог-файл). При этом никаких тормозов в режиме LazyWrite не возникает (в виде чрезмерной нагрузки на диск и следствие - синий экран), поскольку вся запись выполняется через один единственный поток. Также в один лог-файл могут писать несколько приложений, потери данных не возникает, синхронизация выполняется с помощью мьютекса. К сожалению, для лазаруса решение не обновлялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 17:21 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSer, На каких то еще версиях Delphi оно работает (проверялось) старше 2007-й? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2018, 23:18 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Vlad FDmSer, На каких то еще версиях Delphi оно работает (проверялось) старше 2007-й? Предыдущая версия проверялась. Новая не проверялась. И как показывает тестирование, не работает :( Эх, жаль. Если повезёт и найдётся времени, то я разберусь что поломалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2018, 09:35 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSer, А явное указание LibraryName к ней приделал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2018, 13:10 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
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 (на самом деле есть несколько вариантов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2018, 09:06 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
DmSer, Я конкретно спросил про LibraryName, вопрос с которой уже поднимался в данной теме. К чему поначалу было делать вид, что не понял вопроса? К тому же непонятна упомянутая связь кроссплатформенности и двух транзакций, а также кроссплатформенности и того, что испрользуют многие разработчики. Кроме того, в новых версиях IBX переименования fbclient в gds32 уже недостаточно, там все осложнилось и допиливание в этой части IBX требует нетривиальных усилий. В общем, боюсь, что без поддержки новых версий Delphi и допиливания LibraryName твои наработки не нужны никому абсолютно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 16:18 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Тем более, когда в комплекте идет FireDAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 16:23 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Vlad FТем более, когда в комплекте идет FireDAC. Ты, конечно же, потрогал библиотеку и без проблем нашел в фаердаке все это: автор- создание базы данных с нуля (со всеми таблицами, полями, хранимыми процедурами и т.п.); - добавление в БД новых объектов в любое время, исправление некоторых объектов; - пул подключений; - хранение разнородной конфигурационной информации в БД (по типу INI-файлов, но возможностей намного больше); - простые функции для резервирования / восстановления БД; - функции для модификации данных; - и многое другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 18:52 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
Vlad FDmSer, Я конкретно спросил про LibraryName, вопрос с которой уже поднимался в данной теме. К чему поначалу было делать вид, что не понял вопроса? К тому же непонятна упомянутая связь кроссплатформенности и двух транзакций, а также кроссплатформенности и того, что испрользуют многие разработчики. Если Вам что-то непонятно, перечитайте внимательно ещё раз. По-моему, доступно написал. Кроме того, в новых версиях IBX переименования fbclient в gds32 уже недостаточно, там все осложнилось и допиливание в этой части IBX требует нетривиальных усилий. Я запускал тесты для Win32 в Delphi Tokyo - вроде заработало. Я в курсе, что с таким подходом (переименование) какой-то функционал IBX не заработает. На этот случай при установке Firebird есть пункт "Создать клиентскую библиотеку для унаследованных приложений", там всё по уму должно быть. В общем, боюсь, что без поддержки новых версий Delphi и допиливания LibraryName твои наработки не нужны никому абсолютно. Я не буду расстраиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 08:19 |
|
||
|
IBXFBUtils - упрощаем разработку приложений БД Firebird
|
|||
|---|---|---|---|
|
#18+
На каждое благое дело найдется свой тролль, обязательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 11:23 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2040334]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
198ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 529ms |

| 0 / 0 |
