powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus + IBX
203 сообщений из 203, показаны все 9 страниц
Lazarus + IBX
    #38409636
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто пользуется Lazarus + IBX?
Это нормальный порт, пользоваться можно? http://www.mwasoftware.co.uk/index.php?option=com_content&task=view&id=102&Itemid=102
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38409734
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBX сам по себе довольно проблемная вещь, когда отклоняешься от примитивных вещей. Вряд ли
его порт лучше оригинала.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38409743
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестировал вместе с лазарусом, ничего необычного в нем не заметил. По идее рабочий аналог, т.к. никаких особых впечатлений не оставил.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38409763
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде бы UniDAC поддерживает Lazarus. Но, не бесплатно.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38409823
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну за деньги можно и в командировку к автору съездить :-)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410280
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarКто пользуется Lazarus + IBX?
Это нормальный порт, пользоваться можно? http://www.mwasoftware.co.uk/index.php?option=com_content&task=view&id=102&Itemid=102
Так ты же и обещался первым отписаться, как оно там?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410302
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док, оно пока отлично, какие то отличия не нашел. Пробовал fibl - порт фибов,проект давно заброшен.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410306
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственный минус ibx - установил не сразу,лазарь просил библиотеку фб,хотя она в системе была. Причем на рабочем компе fbclient просто в папке лежал,не в system32 - лазаря это не смутило. Но это мелочи.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410351
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

опиши, как победил?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410362
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,переустановил фб. Думаю помогла бы простая инсталляция fbclient.dll.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410419
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarЕдинственный минус ibx - установил не сразу,лазарь просил библиотеку фб,хотя она в системе была. Причем на рабочем компе fbclient просто в папке лежал,не в system32 - лазаря это не смутило. Но это мелочи.
В лазарусном IBX тоже нельзя библиотеку клиентскую указывать?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410532
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

вот, что пишет справка Лазаря по этому поводу
TIBConnection by default requires the Firebird/Interbase client library (e.g. gds32.dll, libfbclient.so, fbclient.dll,fbembed.dll) and its dependencies to be

installed on the system. The bitness between library and your application must match: e.g. use 32 bit fbclient when developing a 32 bit application on 64

bit Linux.
On Windows, in accordance with the regular Windows way of loading DLLs, the library can also be in the executable directory. In fact, this directory is

searched first, and might be a good option for distributing software to end users as it eliminates problems with incompatible DLL versions.
TIBConnection is based on FPC Interbase/Firebird code (ibase60.inc) that tries to load the client library. If you want to use Firebird embedded, make sure

the embedded library is searched/loaded first. There are several ways to do this:

Include ibase60 in your uses clause, set UseEmbeddedFirebird to true

On Windows, with FPC newer than 2.5.1, put fbembed.dll in your application directory

On Windows, put the fbembed.dll in your application directory and rename it to fbclient.dll
Pre 2.5.1 versions of FPC did not try to load the fbembed library by default. See FPC bug 17664 for more details.
An indication of which DLLs need to be installed on Windows (Firebird 2.5, differs between versions:

fbclient.dll (or fbembed.dll)

firebird.msg

ib_util.dll

icudt30.dll

icuin30.dll

icuuc30.dll

msvcp80.dll

msvcr80.dll
Please see your database documentation for details.
у меня серваки запускаются, как приложения, поэтому в дизайнере этого свойства нет :(

Судя по тому, как определяются библиотеки в исходниках ФИБов,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
procedure TFIBDatabase.SetLibraryName(const LibName:string);
begin
  {$IFNDEF FIBPLUS_TRIAL}
  CheckInactive;
  if FLibraryName<>LibName then
  begin
    FLibraryName  :=LibName;
    FClientLibrary:=nil;
    FClientLibLoaded := False;
{    if Length(FLibraryName)>0 then
     LoadLibrary}
  end;
  {$ELSE}
   ShowMessage('Trial version can''t change library name');
  {$ENDIF}
end;

в Лазаре, похоже, тупо код из дельфевого IB (посмотреть не могу, стоит портабелька). Поэтому, без самописного компонента не обойтись.

зы. интересно, если хотя бы частично позаимствовать код для Лазаря из ФИБов, это будет нарушением авторских прав? ;)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410542
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если этот код был в фибах - то не будет. А если только в плюcах появился - то будет наверное, особенно если ты плюсы не покупал...

С другoй стороны, весь полезный код ФИБов и так с самого начала есть и в плюсах и в IBX

Кстати, раз уж про лицензии заговорили, а использовать IBX в Лазаре - это как сочетается с лицензией ?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410564
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

насколько я успел понять, он там в сильно усеченном варианте: куча аналогов IBConnection, только под другие СУБД, далее предлагаются общие для всех TSQLQuery, TSQLTransaction и проч.

...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410573
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доккуча аналогов IBConnection, только под другие СУБД

Осталось понять, при чём тут IBX.

Это могут быть ФИБы, в своём изначальном варианте, до появления на их базе плюсов и IBX
Это могут быть ZeosDB
Это может быть какая-то другая лазарусная sql-библиотека

Почему вы уверены, что это IBX, на каком основании ? Что интерфейс похож? Так он у Лазаруса и Дельфи вообще похож, но программы разные.

Кстати, попробуйте UIB, вроде его порт в FPC/LCL кто-то делал, а клиентские файлы выбирать он точно умеет
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410596
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,это стандартные библиотеки лазаря. У меня установлены отдельные IBX
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38410765
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarКто пользуется Lazarus + IBX?
Это нормальный порт, пользоваться можно? http://www.mwasoftware.co.uk/index.php?option=com_content&task=view&id=102&Itemid=102

Работает!
Я для него адаптировал библиотеку ibxFBUtils , причем потратил на это всего лишь часа три.
Все тесты прошли на ура.
Основные сложности при конвертации были с тем, что под Windows исключения ОС выдаются в кодировке Win1251, а IBX под лазарус текст исключений никак не обрабатывает, поэтому выдается абракадабра. Пришлось кое-где добавить вызовы SysToUTF8().
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38411291
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochОсталось понять, при чём тут IBX... Почему вы уверены, что это IBX, на каком основании ? Что интерфейс похож? Так он у Лазаруса и Дельфи вообще похож, но программы разные.
А где я сказал, что речь идет про IBX? (в тон вопрошающему). Чего нападаешь?

зы. про Code Typhon я уже как-то высказывался, ставил в виртуалке - портабилизовать не удалось. Про UIB в курсе.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38411615
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochа использовать IBX в Лазаре - это как сочетается с лицензией ?
Докнасколько я успел понять, он там в сильно усеченном варианте:

Тaк чта - речь про IBX
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38412127
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ладно-ладно, поймал

Не кавырялся в Лазаре, поэтому смутно представляю его начинку.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414101
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДGallemarЕдинственный минус ibx - установил не сразу,лазарь просил библиотеку фб,хотя она в системе была. Причем на рабочем компе fbclient просто в папке лежал,не в system32 - лазаря это не смутило. Но это мелочи.
В лазарусном IBX тоже нельзя библиотеку клиентскую указывать?

Тынц:
Почему все программы с FB пишутся на Delphi?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414293
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarчччДпропущено...

В лазарусном IBX тоже нельзя библиотеку клиентскую указывать?

Тынц:
Почему все программы с FB пишутся на Delphi?
И что?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414420
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,посмотри
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414584
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarчччД,посмотри
Что сказать-то хотел?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414961
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,да топик про выбор библиотек в ibx.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414963
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarчччД,да топик про выбор библиотек в ibx.
И где ты там выбор углядел?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38414966
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,выбор через допиливание ibintf.pas
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Lazarus + IBX
    #38924189
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простейшее тестовое приложение Lazarus + IBX (FireBird Express), в котором для вставки и редактирования записи в запросах используется EXECUTE BLOCK, проверка корректности вводимых значений так-же вынесены в EXECUTE BLOCK.
Запрос c EXECUTE BLOCK на добавления записи использует выражение RETURNING для возврата значения первичного ключа полученного в триггере, которое автоматически, сразу после выполнения запроса подставляется в локальный кэш IBDataset. В примере показано как использовать свойство TIBDataSet.OrderFields для задания сортировки (метод сортировки не работает с локальным кэшем набора данных, а парсит и изменяет/добаляет инструкцию ORDER BY в SELECT).
Кроме этого пример показывает, как перехватить обработку исключений в приложении для замены дурацкого окна сообщений об ошибках на свое собственное, одновременно в обработчике исключений перехватываются сообщения об ошибках FireBird, сгенерированные в хранимых процедурах, триггерах, для вывода их в нормальном виде.
http://visual-t.ru/files/IBTest2.7z

Для работы приложения требуется установленный SQL сервер FireBird версии 2.5 либо библиотека локального доступа fbembed.* версии 2.5.
Перед сборкой тестового приложения в редакторе компонента IBDatabase1 требуется прописать путь к базе TESTDB.FDB (лежит в папке с проектом) и путь к клиентской библиотеке FireBird, прописать логин и пароль.
Клиентская библиотека в комплекте поставки отсутствует.

Сами модифицированные компоненты IBX for Lazarus можно найти здесь:
http://visual-t.ru

Основные изменения:
Изменения в организации доступа к API FireBird. В оригинальной версии, независимо от того какое количество компонентов
TIBDataBase используется в программе, существовал единый метод загрузки клиентской библиотеки, а это значит, что
работа из программы была возможна только с серверами одной и той же версии, нельзя было загрузить 2 разные
клиентские библиотеки. Работа с компонентами была возможна, только если предварительно удалось загрузить клиентскую
библиотеку. Каждый компонент TIBDatabase получил персональный механизм доступа к клиентской библиотеке, загрузка библиотеки происходит при установлении соединения с базой, при разрыве соединения, библиотека освобождается.
В компонент TIBDatabase добавлено свойство LibraryName - в котором указывается имя библиотеки. Поиск и загрузка
библиотеки происходит исключительно по указанному имени. Имя может быть указано с полным путем и без. Если
путь не указан, поиск библиотеки происходит в папке с выполняемой программой. В свойстве LibraryName
по умолчанию присутствует строка: Для windows - 'fbclient.dll', для Linux - 'fbclient.so'.

TIBDataSet работает в рамках 2х транзакций, пишущей и читающей. Добавлены свойства для автозапуска и автозавершения транзакций, добавлено авто форматирование, эмуляция Boolean полей, автотримирование строковых полей, поддержка Returning Field и возвращаемых значений из Execute Procedure в обновляющих запросах TIBDataSet (возвращаемые значения подставляются автоматом в редактируемую запись после выполнения запроса InsertSQL или ModifySQL), поддержка выражений Execute Block, сортировка (сортировка выполняется не на клиенте в кэше, а парсится и изменяется запрос SELECT, в котором добавляется или изменяется инструкция ORDER BY и запрос переоткрывается), и многое другое.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38924362
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterZeroMQ,

Конкретные вопросы - кокретные ответы.
На текущий момент (имхо) ИБО поддерживает все фичи FB 2.5.x (частично 3.0) и IB XE3.

А вообще, конечно послушать полезно, чего там хорошего, чтобы знать в какую сторону дальше двигаться. Я знаю что IBO хорошо контролирует транзакции чтобы избежать застревание OAT. Интересно было бы знать как датасеты работают с транзакциями. Какое управление транзакциями в IBO?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38924377
Hopkroft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,
Может вопрос некорректный.
Если переходить на IBO то следует для начала прикупить
IBO Core и IBO Native Data Access, ну и скорее всего IBO Tools?
как я понял, эта связка даёт функционал равный FIBPlus?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38924518
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HopkroftГаджимурадов Рустам,
Если переходить на IBO то следует для начала прикупить
IBO Core и IBO Native Data Access, ну и скорее всего IBO Tools?
как я понял, эта связка даёт функционал равный FIBPlus?

IBO всегда распространялся одним пакетом. Который включает в себя Core+Native+Tools+Dataset+AddOns. По функционалу - да, примерно так и будет.

Основные отличия (возможности) IBO в сравнении с FIB+:
- средства по работе с метаданными (DDL extract и т.п.)
- средства репликации
- средства организации полнотекстового поиска в БД
- набор Native DB controls (работают только с IBO native компонентами, но весьма и весьма кофигурабельны (стандартрный DBGrid пожалуй такими возможностями не обладает)
- большой пакет AddOn`ов (расширенные контролы, разнообразные импорты/экпорты, диалоги для (... та для всего ...;)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38924531
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-Интересно было бы знать как датасеты работают с транзакциями. Какое управление транзакциями в IBO?

Как и везде - ручками ;)

Есть одна фишка - если в приложении нет транзакций (ну не озадачился программер) - IBO поднимает свою внутреннюю (Default) транзакцию (она контролируется самим обьектом соединения). Сделано было для облегченного перехода с тех БД (ну там какой-нить древний DBF), где про транзакции либо вообще ничего не знали, либо не придавали значения.

Ну и как в лучших домах Лондона и Парижа - отдельные транзакции для чтения/записи.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38924930
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterIBO всегда распространялся одним пакетом. Который включает в себя Core+Native+Tools+Dataset+AddOns.

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

DarkMasterЕсть одна фишка - если в приложении нет транзакций (ну не озадачился программер) - IBO поднимает свою внутреннюю (Default) транзакцию (она контролируется самим обьектом соединения). Сделано было для облегченного перехода с тех БД (ну там какой-нить древний DBF), где про транзакции либо вообще ничего не знали, либо не придавали значения.
Это не фишка - это костыль от недопрограммистов, таких лучше вообще к делу не допускать.
DarkMasterНу и как в лучших домах Лондона и Парижа - отдельные транзакции для чтения/записи.

Транзакции в IBX

В тестовом приложении вы можете увидеть 2 TIBTransaction - IBRead и IBWrite.
IBRead - читающая транзакция, ей заданы параметры:

авторread
read_commited
rec_varsion
nowait

С такими параметрами транзакция стартует в режиме только чтение, не создает версии записей, соответственно не оказывает ни какого влияния на работу сервера и поэтому может жить сколь угодно долго. Сделайте такую-же в своем приложении и все что нужно читать, читайте через неё, т.е. у всех TIBDataSet.Transaction должно быть IBRead. У меня эта транзакция всегда открыта, я стартую её руками после подключения к базе данных, и завершаю руками при закрытии приложения. В противном случае, если читающую транзакцию не держать всё время открытой, это буде приводить к тому, что если понадобится повторно открыть Select запрос, который уже ранее открывался, то у него буде всё время вызываться метод Prepare перед каждым открытием запроса Select, что приведет к сбросу списка параметров и их значения каждый раз нужно будет устанавливать по новой.
Пример:

Код: pascal
1.
2.
3.
4.
5.
6.
IBDataSet.PN('GOD').AsInteger := 2015;
IBDataSet.Open;
IBDataSet.Close;
//Если после Close читающая транзакция остается открытой, то параметр GOD ни куда не денется
//Можно смело открывать запрос повторно, значение 2015 на месте
IBDataSet.Open;



Код: pascal
1.
2.
3.
4.
5.
6.
7.
IBDataSet.PN('GOD').AsInteger := 2015;
IBDataSet.Open;
IBDataSet.Close;
//Если после Close читающая транзакция закрылась, то значение параметра GOD тоже ликвидируется
//Поэтому потребуется
IBDataSet.PN('GOD').AsInteger := 2015;
IBDataSet.Open;



IBWrite - пишущая транзакция, ей заданы параметры:
авторwrite
wait
no_rec_version
read_commited
lock_timeout = 10

Я использую такую транзакцию для всех коротких пишущих запросов, для TIBDataSet, TIBStoredProc, TIBQuery с опцией AutoCommit := True. Т.е. для всех TIBDataSet в своем приложении, у которых AutoCommit = True (включено по умолчанию) назначьте в свойстве UpdateTransaction - IBWrite. Пишущая транзакция будет сама стартовать и завершаться во время метода Post или Delete.

Частные случаи.
Иногда нужно в рамках одной транзакции записать блок записей в одну или несколько таблиц, и в случае ошибки, для сохранения логической целостности данных, откатить транзакцию, вернув всё в исходное состояние. Для таких случаев, стоит завести отдельную пишущую TIBTransaction. У всех компонент, которые будут её использовать поставить AutoCommit = False. Запускать транзакцию и подтверждать (откатывать) её нужно будет вручную.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
IBDataSet1.UpdateTransaction := DocWriteTransaction;
IBDataSet2.UpdateTransaction := DocWriteTransaction;
MyProc.Transaction := DocWriteTransaction;
IBDataSet1.Autocommit := False;
IBDataSet2.Autocommit := False;
MyProc.AutoCommit := False;
DocWriteTransaction.StartTransaction;
try

IBDataSet1.Append;
....................
IBDataSet1.Post;

IBDataSet2.Append;
...............
IBDataSet2.Post;

IBDataSet2.Append;
...............
IBDataSet2.Post;

IBDataSet2.Append;
...............
IBDataSet2.Post;

MyProc.ExecProc;

DocWriteTransaction.commit;

finally
  //Если на этом этапе DocWriteTransaction активна, значит произошла ошибка, откатываем изменения.
  if DocWriteTransaction.InTransaction then DocWriteTransaction.RollBack;
end;



Master-detail
Механизм master-detail существенно переработан и жизнь облегчает значительно. Обратите внимание на DetailCondition - используется для управления detail в связке с мастер. В нем если включен dcForceOpenClose - открывает detail автоматически при открытии master и автоматически закрывает его при закрытии master. Если включен dcForceMasterRefresh - вызывает у master.Refresh после detail.Post или detail.Delete. Если включен dcForceMasterPost - то в момент detail.BeforeInsert или detail.BeforeEdit проверяет, если master.State in [dsInsert, dsEdit] то делает ему master.Post.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925592
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-...
С такими параметрами транзакция стартует в режиме только чтение, не создает версии записей, соответственно не оказывает ни какого влияния на работу сервера и поэтому может жить сколь угодно долго...

А как же "временные" блобы? :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925632
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeroMQ-Rik-...
С такими параметрами транзакция стартует в режиме только чтение, не создает версии записей, соответственно не оказывает ни какого влияния на работу сервера и поэтому может жить сколь угодно долго...

А как же "временные" блобы? :)
Кто мешает работу с блоб организовать в отдельной транзакции, которая не будет висеть долго?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925637
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-ZeroMQпропущено...


А как же "временные" блобы? :)
Кто мешает работу с блоб организовать в отдельной транзакции, которая не будет висеть долго?

Кто мешает не делать ложных декларативных заявлений?

-Rik-...
С такими параметрами транзакция стартует в режиме только чтение, не создает версии записей, соответственно не оказывает ни какого влияния на работу сервера и поэтому может жить сколь угодно долго...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925671
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-IBWrite - пишущая транзакция, ей заданы параметры:
write
wait
no_rec_version
read_commited

вы в курсе опции no_rec_version? если у вас эта транзакция пишущая, то зачем ей дэдлоки на ЧТЕНИИ не-committed версий?

-Rik-С такими параметрами транзакция стартует в режиме только чтение, не создает версии записей, соответственно не оказывает ни какого влияния на работу сервера и поэтому может жить сколь угодно долго
То, что вы написали, неверно. транзакция read read_committed завершена сразу после старта (в IB 6 и выше), поэтому она не является активной, и не удерживает версии записей, созданные другими транзакциями.

я вам рекомендую освежить знания повторным чтением статей на ibase.ru. А то вы вроде бы учите людей, но в вашем изложении есть существенные неточности.

-Rik-Кто мешает работу с блоб организовать в отдельной транзакции, которая не будет висеть долго?
получается, и тут вы тоже не в курсе.
http://www.ibase.ru/devinfo/dbgrowth.html
никто не запрещает в read read_committed вызовый функции list или конкатенацию блобов. При этом, не смотря на опцию read транзакции, временные блобы будут создаваться именно в этой транзакции.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925674
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-Я знаю что IBO хорошо контролирует транзакции чтобы избежать застревание OAT.
OAT - это Oldest Active Transaction, т.е. старейшая на текущий момент активная транзакция. "Застревание OAT" - это просто длительная активная транзакция. "Контролировать тразакции" можно либо вручную, т.е. стартуя и завершая их явно, либо автоматически, т.е. полагаясь на драйвер (т.е. не контролируя это никак).

p.s. увижу в очередной раз Джейсона - обязательно спрошу у него, как это он их там "контролирует" в IBO.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925682
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv-Rik-IBWrite - пишущая транзакция, ей заданы параметры:
write
wait
no_rec_version
read_commited

вы в курсе опции no_rec_version? если у вас эта транзакция пишущая, то зачем ей дэдлоки на ЧТЕНИИ не-committed версий?

У меня нет возможности проводить исследования, я использовал исследования devrace:
http://www.devrace.com/ru/fibplus/articles/2169.php
Я с ними согласен, у меня не было проблем с этим. Параметры к транзакции не гвоздями прибиты, если кто-то считаете что есть лучший вариант, ради бога, но то что я описал, по моему опыту, работает хорошо.

kdv-Rik-С такими параметрами транзакция стартует в режиме только чтение, не создает версии записей, соответственно не оказывает ни какого влияния на работу сервера и поэтому может жить сколь угодно долго
То, что вы написали, неверно. транзакция read read_committed завершена сразу после старта (в IB 6 и выше), поэтому она не является активной, и не удерживает версии записей, созданные другими транзакциями.

я вам рекомендую освежить знания повторным чтением статей на ibase.ru. А то вы вроде бы учите людей, но в вашем изложении есть существенные неточности.
Все верно, иногда я не уделяю должного внимания некоторым вещам, постараюсь исправиться.

kdv-Rik-Кто мешает работу с блоб организовать в отдельной транзакции, которая не будет висеть долго?
получается, и тут вы тоже не в курсе.
http://www.ibase.ru/devinfo/dbgrowth.html
никто не запрещает в read read_committed вызовый функции list или конкатенацию блобов. При этом, не смотря на опцию read транзакции, временные блобы будут создаваться именно в этой транзакции.
Про блобы я не знал, учту на будущее.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #38925736
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Там все в норме, если ручками ;)... Нужно учитывать только Default Transaction (r/w), которая поднимается, если других нет. В IBO она всегда есть, но "спрятана". Опять таки, если ее явно не указать.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Lazarus + IBX
    #39805424
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал переписать программку на Delphi с использованием Lazarus 2.0 и столкнулся с проблемой при сортировке данных по щелчку на заголовке в гриде.

В Delphi (fibplus) я использовал для этого локальную сортировку набора данных.
В Lazarus в Компонентах IBX версия 2.2.8 ( http://www.visual-t.ru) я этого метода не нашел, зато нашел свойство OrderFields.
Если набор данных без параметра, то все получается:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
procedure TfMain.dbgSlaveTitleClick(Column: TColumn);
var key: integer;
    i: integer;
begin
  with dbgSlave, IBQslave do begin
    for i:=0 to Columns.Count - 1 do
    begin
      Columns[i].Font.Style := [];
      Columns[i].Title.Font.Style := [];
    end;
    key := IBQSlaveEMP_NO.AsInteger;
    OrderFields := Column.FieldName;
    Column.Font.Style := [fsBold];
    Column.Title.Font.Style := [fsBold];
    try
      Locate('EMP_NO', key, []);
    except
    end; //try
  end;
end;


Но если набор данных связать с мастером по параметру
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
object IBQslave: TIBQuery
    Database = IBDb
    Transaction = IBTr
    AutoStartTransaction = True
    AutoCommit = True
    AutoTrim = True
    Active = True
    BufferChunks = 1000
    CachedUpdates = False
    DataSource = dsMaster
    GeneratorField.ApplyOnEvent = gaeOnNewRecord
    SQL.Strings = (
      'Select '
      'A.EMP_NO, '
      'A.FIRST_NAME, '
      'A.LAST_NAME, '
      'A.PHONE_EXT, '
      'A.HIRE_DATE, '
      'A.DEPT_NO, '
      'A.JOB_CODE, '
      'A.JOB_GRADE,'
      ' A.JOB_COUNTRY, '
      'A.SALARY, '
      'A.FULL_NAME '
      'From EMPLOYEE A '
      'where DEPT_NO = :DEPT_NO'
    )


то при щелчке по заголовку выдает ошибку EIBClientError: Empty Query

БД - Firebird 2.5.8.27089
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805431
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23.04.2019 15:16, dedRasta пишет:
> то при щелчке по заголовку выдает ошибку EIBClientError: Empty Query

пиши автору клона IBX
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805519
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRastaПопробовал переписать программку на Delphi с использованием Lazarus 2.0 и столкнулся с проблемой при сортировке данных по щелчку на заголовке в гриде.

В Delphi (fibplus) я использовал для этого локальную сортировку набора данных.
В Lazarus в Компонентах IBX версия 2.2.8 ( http://www.visual-t.ru) я этого метода не нашел, зато нашел свойство OrderFields.
Если набор данных без параметра, то все получается:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
procedure TfMain.dbgSlaveTitleClick(Column: TColumn);
var key: integer;
    i: integer;
begin
  with dbgSlave, IBQslave do begin
    for i:=0 to Columns.Count - 1 do
    begin
      Columns[i].Font.Style := [];
      Columns[i].Title.Font.Style := [];
    end;
    key := IBQSlaveEMP_NO.AsInteger;
    OrderFields := Column.FieldName;
    Column.Font.Style := [fsBold];
    Column.Title.Font.Style := [fsBold];
    try
      Locate('EMP_NO', key, []);
    except
    end; //try
  end;
end;


Но если набор данных связать с мастером по параметру
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
object IBQslave: TIBQuery
    Database = IBDb
    Transaction = IBTr
    AutoStartTransaction = True
    AutoCommit = True
    AutoTrim = True
    Active = True
    BufferChunks = 1000
    CachedUpdates = False
    DataSource = dsMaster
    GeneratorField.ApplyOnEvent = gaeOnNewRecord
    SQL.Strings = (
      'Select '
      'A.EMP_NO, '
      'A.FIRST_NAME, '
      'A.LAST_NAME, '
      'A.PHONE_EXT, '
      'A.HIRE_DATE, '
      'A.DEPT_NO, '
      'A.JOB_CODE, '
      'A.JOB_GRADE,'
      ' A.JOB_COUNTRY, '
      'A.SALARY, '
      'A.FULL_NAME '
      'From EMPLOYEE A '
      'where DEPT_NO = :DEPT_NO'
    )


то при щелчке по заголовку выдает ошибку EIBClientError: Empty Query

БД - Firebird 2.5.8.27089
OrderFields добавлялось для TIBDataSet, попробуйте IBQuery заменить на IBDataSet.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805521
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23.04.2019 18:26, -Rik- пишет:

> OrderFields добавлялось для TIBDataSet

почему не для TIBCustomDataSet ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805538
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий23.04.2019 18:26, -Rik- пишет:

> OrderFields добавлялось для TIBDataSet

почему не для TIBCustomDataSet ?

Оно добавлено в TIBCustomDataSet, но планировалось для работы только в TIBDataSet, в TIBQuery я его даже не тестировал, можно допилить конечно..
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805547
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-OrderFields добавлялось для TIBDataSet, попробуйте IBQuery заменить на IBDataSet.

Когда уже уходил с работки, попробовал - та же ошибка
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805571
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRastaпри сортировке данных по щелчку на заголовке в гриде
а грид чей пользуешь? В RxGrid есть DataDriver для IBX и FB, попробуй там.

зы. я бы перевел сортировку в ручной режим и тягал данные на клиента средствами сервера. Как-то Алексея попросил специально сделать так, чтобы клики по титлбатонам были "только на бумаге". В результате, локальная сортировка гридом сделана, если только подключены датадрайверы. За что ему большое спасибо.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805647
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док, а где можно скачать rx* для Lazarus 2.0? ? На freepascal ссылка аж от 2007г.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805650
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39805672
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta-Rik-OrderFields добавлялось для TIBDataSet, попробуйте IBQuery заменить на IBDataSet.

Когда уже уходил с работки, попробовал - та же ошибка
Попробуйте RefreshSQL заполнить.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39806376
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmandedRasta,
https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/rx/trunk/
Спасибо!
Уже скачал отсюда
Это одно и тоже?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39806389
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-Попробуйте RefreshSQL заполнить.

Yes! Все работает.

Большое спасибо. Посыпаю лысую голову пеплом и прочими субстанциями.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39830367
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При переходе на Lazarus с IBX ( http://visual-t.ru) столкнулся с проблемой: запросы select в TIBDataset, которые в Delphi с FIBPlus работают нормально, стали выдавать ошибку "multiple rows in singleton select".

Оказалось, что все эти запросы используют execute block:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
execute block 
returns (
  wp_name varchar(50)
)
as
begin
   for Select 
    t_workplace.workplace_name
  from t_workplace
  where t_workplace.workplace_id in (3, 4)
  into :wp_name
  do 
    suspend;
end



Запрос сам по себе, конечно, никакой ошибки не выдает:
Код: plsql
1.
2.
3.
4.
Select 
    t_workplace.workplace_name
  from t_workplace
  where t_workplace.workplace_id in (3, 4)

...
Рейтинг: 0 / 0
Lazarus + IBX
    #39830375
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нафиг там EB? Заменить на select и все.
Датасет почему-то ожидает там единственную строку. Почему - хз.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39830507
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заменить на selectДык! Именно этим и занимаюсь, но запросов этих много.
Только переделываю ExB в SP и select делаю из SP, потому как сделанное в ExB впихнуть в select бывает непросто.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39830610
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, недоработка в компоненте, и EB воспринимается как выполнение хранимки.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39830635
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(тихо, самому себе: Курить маны до просветления! ...!!! :/):

http://visual-t.ru/ibexpress.html

"Компоненты могут принять только одну строку с возвращаемыми параметрами, если запрос из EXECUTE BLOCK возвращает более одной строки, возникает исключение.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39830735
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRastaтихо, самому себе: Курить маны до просветления!
попробуй сравнить с оригиналом , скорее всего ноги оттуда растут.

зы. можно было бы пообщаться с разработчиком и напрямую, но, к сожалению, лазарусовский форум лежит со вчерашнего дня.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39831098
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внес изменения. Можете попробовать обновиться.

Если EXECUTE BLOCK требуется использовать для получения набора данных, то для TIBSQL в котором используется запрос, нужно установить TIBSQL.SelectOnBlock := True, в TIBDataSet для QSelect и QRefresh свойство SelectOnBlock установлено в True по умолчанию, поэтому для TIBDataSet в SelectSQL EXECUTE BLOCK может возвращать любое количество записей.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39831374
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-Внес изменения. Можете попробовать обновиться. Здорово! Все работает. Большое спасибо, а то больно много запросов пришлось бы переделывать.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39838303
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу использования Execute Block в IBDataSet. Столкнулся с таким нюансом: закомментировал входные параметры и запрос стал выдавать ошибку 'Unknown SQL Type':
Код: plsql
1.
2.
3.
4.
5.
6.
execute block 
--(
--    GOD integer = :GOD,
--    KWARTAL integer = :KWARTAL,
--    DT integer = :DT
--)


Если удалить закомментированные строчки - работает нормально.

Firebird 2.5.9
Lazarus 2.0.2
Windows 7 SP1
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39838331
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRastaПо поводу использования Execute Block в IBDataSet. Столкнулся с таким нюансом: закомментировал входные параметры и запрос стал выдавать ошибку 'Unknown SQL Type':
Код: plsql
1.
2.
3.
4.
5.
6.
execute block 
--(
--    GOD integer = :GOD,
--    KWARTAL integer = :KWARTAL,
--    DT integer = :DT
--)


Если удалить закомментированные строчки - работает нормально.

Firebird 2.5.9
Lazarus 2.0.2
Windows 7 SP1
У TIBSQL есть процедура PreprocessSQL, она параметры ищет, если закоментировать через --, то она все равно чето находит что в комментарии есть. Я исправил, пока обновление выложить не могу, выложу позже.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39838543
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-dedRastaПо поводу использования Execute Block в IBDataSet. Столкнулся с таким нюансом: закомментировал входные параметры и запрос стал выдавать ошибку 'Unknown SQL Type':
Код: plsql
1.
2.
3.
4.
5.
6.
execute block 
--(
--    GOD integer = :GOD,
--    KWARTAL integer = :KWARTAL,
--    DT integer = :DT
--)


Если удалить закомментированные строчки - работает нормально.

Firebird 2.5.9
Lazarus 2.0.2
Windows 7 SP1
У TIBSQL есть процедура PreprocessSQL, она параметры ищет, если закоментировать через --, то она все равно чето находит что в комментарии есть. Я исправил, пока обновление выложить не могу, выложу позже.
Выложил исправленную версию, можете попробовать...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39838637
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-Выложил исправленную версию
Юр, может положишь исходники куда-нибудь на гитхаб? А то у тебя названия архивов "зимой и летом - одним цветом" :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39838642
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док-Rik-Выложил исправленную версию
Юр, может положишь исходники куда-нибудь на гитхаб? А то у тебя названия архивов "зимой и летом - одним цветом" :)
:)
Попробую, как руки дойдут, пока некогда и неохота..
...
Рейтинг: 0 / 0
Lazarus + IBX
    #39839289
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-Выложил исправленную версию, можете попробовать...Спасибо, работает.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Lazarus + IBX
    #40082775
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-, планируется ли доработка библиотеки для Firebird 4?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40082898
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
-Rik-, планируется ли доработка библиотеки для Firebird 4?

Хотелось бы конечно. Я ещё не смотрел вообще чего там с 4 версией. Я после 21 июля напишу что смогу доработать или наоборот не смогу. Я до 21 июля не на работе.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084726
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MWA выпустила новую версию IBX (2.4-0 Build 12543 Mon, 22 Feb 2021) с поддержкой Firebird 4.0:
В Changelog отмечены следующие фичи для Firebird4:
1. Firebird 4 support added.
2. New FB4 data types TIME WITH TIME ZONE, TIMESTAMP WITH TIME ZONE, DECFLOAT and
extended precision NUMERIC fields are supported.
3. TFmtBCDField is used to support access to DECFLOAT and extended precision NUMERIC fields.
4. TIBDateTimeField and TIBTimeField are introduced in support of TIMESTAMP WITH TIME ZONE
and TIME WITH TIME ZONE fields. These inherit from TDateTimeField.
5. IBExtract now supports FB4 enhancements:
- new data types as above
- Identity column extensions
- Default user role
- SQL Security clause for Database, Tables, Procedures, Functions and Triggers
- Internal Functions
9. TIBDataSet and TIBQuery: new property TZTextOption. Used to determine the default
format for rendering a time zone.
10. TIBDataSet and TIBQuery: new property DefaultTZDate. Used to provide the default date
to convert TIME WITH TIME ZONE data type values to and from GMT.

Отличия в свойствах IBdatabase (по сравнению с IBX от http://www.visual-t.ru):
1. LibraryName называется FirebirdLibraryPathName
2. Отсутствуют поля DBSQLDialect и DefaultUpdTransaction
3. Зато есть поля:
ConfigOverrides,
CreateIfNotExists,
SQL HourGlass,
UseDefaultSystemCodePage.

Отличия в свойствах IBdataset (по сравнению с IBX от http://www.visual-t.ru):
1. Вместо AutoStartTransaction есть AllowAutoActivateTransaction
2. Есть поля:
CaseSensitiveParameterName,
DatasetCloseAction,
DefaultTZdate,
EnableStatistics,
GenerateParamNames,
MasterDetailDelay,
SQLFiltered,
SQLFilterParams,
TZTextOptions
3. Отсутствуют поля:
AutoErrorEvents,
AutoFetchall,
AutoParamToField,
AutoTrim,
CancelAction,
DefFormats,
DefValueFromServer,
DetailConditions,
EditFormats,
FieldsFormats,
RetFields,
UpdateTransaction

Я попробовал запустить с использованием MWA IBX демку IBXTest c http://www.visual-t.ru, преобразовав через backup/restore тестовую БД в FB4.
Была выдана куча предупреждений о ненайденных свойствах, я их проигнорировал и в результате демка запустилась, но, естественно, только в режиме чтения, поскольку дефолтная транзакция readonly.
После того, как заменил дефолтную транзакцию на IBWrite, была выдана ошибка "TPBConstant(isc_tpb_isc_tpb_lock_timeout) is unsupported".
После того, как убрал из параметров транзакции IBWrite строчку "lock_timeout=10",
в демке заработала и запись. Хотя, конечно, с двумя транзакциями работать привычнее - еще с фибов.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084781
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
MWA выпустила новую версию IBX (2.4-0 Build 12543 Mon, 22 Feb 2021) с поддержкой Firebird 4.0:

Там посвежее версия лежит. https://svn.mwasoftware.co.uk/viewvc/public/ibx/tags/R2-4-1/changelog?revision=344&view=markup
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084815
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый большой недостаток англичанина - у него клиентская либа гвоздями в системе прибита. И упрямый отказ при попытке убедить его пойти по пути упомянутого форка Юры Копнина сводит на нет все новомодные плюшки, которые он туда добавил :(
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084818
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не доросли вы все до его музыки! ©

зы: довольно много спорных моментов в егойной архитектуре.
но он же "художник, он так видит!"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084837
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Самый большой недостаток англичанина - у него клиентская либа гвоздями в системе прибита. И упрямый отказ при попытке убедить его пойти по пути упомянутого форка Юры Копнина сводит на нет все новомодные плюшки, которые он туда добавил :(

Не понял, поясните... Я уж подумывал ещё раз форкнуть, т.к. новый апи добавлять времени не хватит.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084840
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-

Не понял, поясните... Я уж подумывал ещё раз форкнуть, т.к. новый апи добавлять времени не хватит.

Ааа.. Либа, всё понял..
Как у него с лицензией Inertbase public по прежнему?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084847
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
20.07.2021 13:30, -Rik- пишет:
>
> Ааа.. Либа, всё понял..

ты кстати, как решил вопрос с динамической подгрузкой/перезагрузкой клиентской либы?
переопределяешь заново точки входа, или как в поздних версиях у Джефа - на интерфейсах всё?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084916
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружил в программе, написанной с использованием IBX от http://www.visual-t.ru следующую проблему.
Есть "пустой" запрос, который используется в разных местах программы.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
object Qw: TIBQuery
    Database = dbIDK
    Transaction = trWrite
    AutoStartTransaction = True
    AutoCommit = True
    AutoTrim = True
    BufferChunks = 1000
    CachedUpdates = False
    GeneratorField.ApplyOnEvent = gaeOnNewRecord
    Params = <>
    Left = 240
    Top = 16
end


В программе выполняются две однотипные операции добавления записи в подчиненные таблицы с записью ID вставленной строки в главную таблицу путем вызова хранимых процедур:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create or alter procedure SP_UPD_PHYSEX (
    PID integer,
    PHYSEX_DATE date)
returns (
    PHYSEX_ID integer)
as
begin
  update or insert  into t_physex
  (personnel_id, physex_date)
  values (:pid,  :physex_date)
  matching (personnel_id, physex_date)
  returning physex_id into :physex_id;
end


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
if qw.Active then qw.Close;
qw.AutoCommit := false;
qw.Transaction := fdsTr;
qw.SQL.Clear;
qw.SQL.Add('EXECUTE PROCEDURE SP_UPD_PHYSEX (:PID, :PHYSEX_DATE)');
qw.Prepare;
qw.ParamByName('PID').AsInteger := P_ID;
qw.ParamByName('PHYSEX_DATE').AsDate := dtpMEx.Date;
qw.ExecSQL;
fdsPersonalPHYSEX_ID.AsInteger := qw.OutParamByName('PHYSEX_ID').AsInteger;
fdsPersonal.Post;
fdsTr.Commit;


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create or alter procedure SP_UPD_RBEV (
    PID integer,
    RBEV_DATE date)
returns (
    RBEV_ID integer)
as
begin
  update or insert  into t_rbev
  (personnel_id, rbev_date)
  values (:pid,  :rbev_date)
  matching (personnel_id, rbev_date)
  returning rbev_id into :rbev_id;
end


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
if qw.Active then qw.Close;
qw.AutoCommit := false;
qw.Transaction := fdsTr;
qw.SQL.Clear;
qw.SQL.Add('EXECUTE PROCEDURE SP_UPD_RBEV (:PID, :RBEV_DATE)');
qw.Prepare;
qw.ParamByName('PID').AsInteger := P_ID;
qw.ParamByName('RBEV_DATE').AsDate := dtpRbEx.Date;
qw.ExecSQL;
fdsPersonalRBEV_ID.AsInteger := qw.OutParamByName('RBEV_ID').AsInteger;
fdsPersonal.Post;
fdsTr.Commit;


Обычно эти операции выполняются отдельно и в разное время.
Но сейчас попробовал выполнить их подряд и при выполнении второй операции в строке
Код: pascal
1.
fdsPersonalRBEV_ID.AsInteger := qw.OutParamByName('RBEV_ID').AsInteger;


получил сообщение об ошибке:
Код: pascal
1.
Qw: Parameter Physex_id not Found


Т.е., несмотря на выполнение Prepare ищется параметр из предыдущей операции.
Сообщение об ошибке указывает на процедуру модуля IBQuery:
Код: pascal
1.
2.
3.
4.
function TIBQuery.OutParamByName(const Value: string): TParam;
begin
  Result := OutParams.ParamByName(Value);
end;


В Delphi с FibPlus аналогичный код выполняется без проблем:
Код: pascal
1.
2.
qw.ExecProcedure('SP_UPD_RBEV', [P_ID, dtpRbEx.Date]);
fdsPersonalRBEV_ID.AsInteger := qw.FieldByName('RBEV_ID').AsInteger;
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084918
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-, авторЯ уж подумывал ещё раз форкнуть - это было бы здорово!
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084923
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

20.07.2021 13:30, -Rik- пишет:
>
> Ааа.. Либа, всё понял..

ты кстати, как решил вопрос с динамической подгрузкой/перезагрузкой клиентской либы?
переопределяешь заново точки входа, или как в поздних версиях у Джефа - на интерфейсах всё?

Там нет интерфейсов, всё проще, библиотека просто подгружается в момент установки соединения, соответственно поиск происходит по указанному пути.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40084985
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кошмар... то есть в наличии версия от Эмбы, две версии от сторонних контор и неизвестное количество форков. Напоминает ситуацию с семейством наследников VirtualDub
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085011
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.07.2021 10:20, Fr0sT-Brutal пишет:
> Кошмар... то есть в наличии версия от Эмбы,

оно заточено исключительно под IB.
потому его никто и не юзает.

зы: и код там - говно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085012
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-

Я уж подумывал ещё раз форкнуть, т.к. новый апи добавлять времени не хватит.

Давай, Юр. С нетерпением ждем твой форк. Две транзакции на один IBDatabase может не так актуально, как динамическая подгрузка клиента. Это самый основной затык :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085082
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

21.07.2021 10:20, Fr0sT-Brutal пишет:
> Кошмар... то есть в наличии версия от Эмбы,

оно заточено исключительно под IB.
потому его никто и не юзает.

зы: и код там - говно.

Хз, взял из ХЕ2, чуток подточил для ФБ и юзаю в проде. Код говно, да, но снаружи это не проявляется
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085087
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.07.2021 14:06, Fr0sT-Brutal пишет:
>
> Хз, взял из ХЕ2, чуток подточил для ФБ и юзаю в проде.

и ты ещё упрекал РИКа в форке
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085151
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

21.07.2021 14:06, Fr0sT-Brutal пишет:
>
> Хз, взял из ХЕ2, чуток подточил для ФБ и юзаю в проде.

и ты ещё упрекал РИКа в форке

Я упрекал? о_О ни в коем разе, просто в них уже черт ногу сломит. Ну а что подточил - без этого они не юзабельны, одна захардкоженная либа чего стоит.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085155
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.07.2021 16:30, Fr0sT-Brutal пишет:
>
> Я упрекал? о_О ни в коем разе, просто в них уже черт ногу сломит.
> Ну а что подточил - без этого они не юзабельны, одна захардкоженная либа чего стоит.

у Джефа были попытки отойти от "генеральной линии Партии".
для этого он перевёл все функции клиентской либы на интерфейсы,
дабы оная подгружалась по мере надобности, а не в секции Initialization .
но довести до ума (с заданием имени библиотеки) так и не смог.
возможно ему просто указали на "недопустимость оппортунизма".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085179
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий
у Джефа были попытки отойти от "генеральной линии Партии".
для этого он перевёл все функции клиентской либы на интерфейсы,
дабы оная подгружалась по мере надобности, а не в секции Initialization .
но довести до ума (с заданием имени библиотеки) так и не смог.
возможно ему просто указали на "недопустимость оппортунизма".
Posted via ActualForum NNTP Server 1.5

Переинженерил... простого LoadClientLib(LibPath) хватило бы без всяких извращений с интерфейсами
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085340
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.07.2021 18:40, Fr0sT-Brutal пишет:
> Переинженерил... простого LoadClientLib(LibPath) хватило бы без всяких извращений с интерфейсами

это не модно!
он и работу с Events пытался на интерфейсы перевести.
один хрен не работало...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085664
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал ставить ibx от MWA на Lazarus под Linux.

При первой попытке на машине отсутствовал FireBird. После установки IBX от MWA, Lazarus не запустился.
Удалил папку. Запустил Lazrus, удалил пустые ссылки на IBX.

При второй попытке был установлен FB4. Lazarus c IBX запустился. Набросал тестовое приложение, но подключиться к базе из него не удалось. IBExpert к базе подключается, свой IBX тоже подключается. IBX(MWA) так и не подключился у меня. Пробовал экспериментировать с опциями AuthClient, AuthServer, UserManager в firebird.conf, не помогло.

В связке Win + Lazarus + Ibx(mwa) + FB4 работает.

IBX(mwa) под Linux работает у кого-нибудь?


ps. Можно попробовать ещё добавить новые типы в текущий ibx, но не понятно как это всё использовать. Попробовал INT128 привязать, он читается, приходит в формате FB_I128 = array [1..2] of Int64, но как его дальше крутить и чем редактировать не понятно. Так-же точно с другими новыми типами.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085666
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Кошмар... то есть в наличии версия от Эмбы, две версии от сторонних контор и неизвестное количество форков. Напоминает ситуацию с семейством наследников VirtualDub

Есть ссылки? Хочется посмотреть чего там...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085691
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-> INT128 ... array [1..2] of Int64

Они не совместимы что ли?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085708
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
-Rik-> INT128 ... array [1..2] of Int64
Они не совместимы что ли?

В Lazarus есть тип int128rec, но на сколько он совместим с форматом в FB я не знаю. Вообще пока не понятно как 128 битные числа использовать на стороне Lazarus. У меня и надобности такой не было ни когда, поэтому даже не задумывался. Может у кого идеи какие есть?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085710
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-Вообще пока не понятно как 128 битные числа использовать на стороне Lazarus

Точно так же, как и любые другие: переводить в строку и показывать пользователю. Что ещё с
числами из БД можно делать?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085712
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-Rik-
Есть ссылки? Хочется посмотреть чего там...

Ссылки на кого? От Эмбы в поставке RTL, от двух контор тут выше (visual-t, насколько я понял, это ты и есть?). А форки все сами для себя клепают)). Свои могу выложить, но не уверен, как там с лицензией - брал за основу эмбовские
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085718
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-
IBX(mwa) под Linux работает у кого-нибудь?

Последнюю версию не пробовал, но когда-то под 16 убунтой работало.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085751
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-
Пробовал ставить ibx от MWA на Lazarus под Linux.

При первой попытке на машине отсутствовал FireBird. После установки IBX от MWA, Lazarus не запустился.
Удалил папку. Запустил Lazrus, удалил пустые ссылки на IBX.

При второй попытке был установлен FB4. Lazarus c IBX запустился. Набросал тестовое приложение, но подключиться к базе из него не удалось. IBExpert к базе подключается, свой IBX тоже подключается. IBX(MWA) так и не подключился у меня. Пробовал экспериментировать с опциями AuthClient, AuthServer, UserManager в firebird.conf, не помогло.

В связке Win + Lazarus + Ibx(mwa) + FB4 работает.

IBX(mwa) под Linux работает у кого-нибудь?


ps. Можно попробовать ещё добавить новые типы в текущий ibx, но не понятно как это всё использовать. Попробовал INT128 привязать, он читается, приходит в формате FB_I128 = array [1..2] of Int64, но как его дальше крутить и чем редактировать не понятно. Так-же точно с другими новыми типами.

Чтобы на Лазаре запустился британский ibx, нужно в корень лазаруса положить fbclient.dll/so/dylib соответствующей разрядности и перезапустить среду. Птичку ставить не обязательно.
А вот дальше у меня дело не пошло (нина винде, ни под линем). Его компоненты упорно орали, что не могут найти клиента. На мой вопрос, какого х@ра, автор невнятно ответил, что надо либо ставить полноценный сервак как службу, либо указывать в переменных окружения FIREBIRD или чи, как его там.

Короче, на тот момент были приоритеты разработки другие, я потому оставил этот вопрос на потом
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085767
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
-Rik-
Пробовал ставить ibx от MWA на Lazarus под Linux.

При первой попытке на машине отсутствовал FireBird. После установки IBX от MWA, Lazarus не запустился.
Удалил папку. Запустил Lazrus, удалил пустые ссылки на IBX.

При второй попытке был установлен FB4. Lazarus c IBX запустился. Набросал тестовое приложение, но подключиться к базе из него не удалось. IBExpert к базе подключается, свой IBX тоже подключается. IBX(MWA) так и не подключился у меня. Пробовал экспериментировать с опциями AuthClient, AuthServer, UserManager в firebird.conf, не помогло.

В связке Win + Lazarus + Ibx(mwa) + FB4 работает.

IBX(mwa) под Linux работает у кого-нибудь?


ps. Можно попробовать ещё добавить новые типы в текущий ibx, но не понятно как это всё использовать. Попробовал INT128 привязать, он читается, приходит в формате FB_I128 = array [1..2] of Int64, но как его дальше крутить и чем редактировать не понятно. Так-же точно с другими новыми типами.

Чтобы на Лазаре запустился британский ibx, нужно в корень лазаруса положить fbclient.dll/so/dylib соответствующей разрядности и перезапустить среду. Птичку ставить не обязательно.
А вот дальше у меня дело не пошло (нина винде, ни под линем). Его компоненты упорно орали, что не могут найти клиента. На мой вопрос, какого х@ра, автор невнятно ответил, что надо либо ставить полноценный сервак как службу, либо указывать в переменных окружения FIREBIRD или чи, как его там.

Короче, на тот момент были приоритеты разработки другие, я потому оставил этот вопрос на потом
Я путь к либе указал, компоненты про либу не ругаются, на логин ругается, у FB в логах то-же самое пишет, конекты видит, аутентификация не проходит.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085813
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-,

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

Увы, пока в больничке, даже практически попробовать помочь разобраться не могу :(
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085941
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Принесли ноут, начал ставить.

Парень 6 nil-аргументов потерял :)
https://forum.lazarus.freepascal.org/index.php/topic,55285.msg413012.html#msg413012

Ладно. Исправили, смотрим дизайнер



кнопка Database задизайблена, путей к клиенту нету (только в дизайнере), попытка теста коннекта выдает ошибку.

Смотрим дизайнер


* имя БД надо сразу писать с протоколом и портом
* зато путь до клиента уже есть
* LoginPrompt даже при снятой галке вызывает диалог его запроса
* имя, пароль, чарсет автор стыдливо засунул в параметры

Попытка чекнуть свойство connected вызывает то же унылое окно с ошибкой.

Честно говоря, я в недоумении о_О
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085964
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

гм.
- кнопка browse задизаблена т.к. указан коннект remote, а понимать что там localhost и это тот же комп оно не обязано.
Собственно, да - логика лишняя и дурацкая, не надо там было вообще никогда ее дизаблить.

- в isc_attach_database передается полная строка коннекта, там нет разделения на сервер, порт и путь.
Разделение в диалогах коннекта - плюшка для удобства, перед коннектом все эти части собираются в одну строку, и она передается в АПИ ФБ.
Поэтому полная строка в databaseName - это норм.

Кстати, что за порт 330764 - вроде же номера портов не больше 65535 могут быть?
И localhos/330764 - тоже недопис.

Насчет "имя пароль и чарсет" - они и так в исходном IBX в параметрах, и всегда там были.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085989
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

экзотичесий порт = версия + разрядность. Проверял на gbak - все робит без проблем. Про localhos t - да, посмотрел, поправил - картина та же.

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

С тоской ФИБы вспоминаются - вот уж, действительно, все познается в сравнении. Пока буду юзать последний форк от Юрия Копнина (ака Rik), возможно попробую снова на UIB пересесть.

Последние Zeos абсолютно неюзабельные с кучей AV в дизайнтайме. Про встроенный в Лазарь IBConnection даже говорит не хочется :(
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40085995
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док,

не смотрел OO API?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086012
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, так основательно в коде ковыряться - если только сам за форк возьмусь. А это лишено смысла, есть люди опытнее и умнее :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086055
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

риторический вопрос - а чего такая деградация-то случилась...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086060
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

ты про компоненты надеюсь?:)

Они изначально кривенькие были с родовыми делфевыми болячками в виде требования наличия клиента в PATH. Когда я спросил автора, чего он не отвяжет либу от компонентов, он обосновал это соображениями безопасности, дескать, дай волю девелоперу, он обязательно подсунет вирус вместо нормального клиента и проч. бред.

Ну и с учетом того, что он прогает под линь, где птичка по его понятиям (как мне показалось) ставится только через консоль в виде сервера с демоном, все аргументы, что есть еще винда, где можно запустить несколько штук в виде приложений, тупо разбиваются о его непоколебимую уверенность в собственной правоте. У меня еще есть большие подозрения, что он довольно редко обновляет компилятор, ибо последний его релиз "недосчитался" массива с 6-ю nil-аргументами, которые потребовались для многих компонентов в последних транках fpc.

Отсюда вывод, в нынешнем виде его форк становится все более заскорузлым и ограниченным. Видишь, как грустно :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086078
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док,

а тебе лично - что от компонентов доступа нужно? В плане функционала.
Я к тому, чтобы все же посмотреть на OO API, и сделать минимальную обертку, обеспечивающую доступ к тем функциям, которые тебе нужны.
С высокой вероятностью, я что-то такое начну делать на днях, правда, не для паскаля.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086085
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
а тебе лично - что от компонентов доступа нужно? В плане функционала.

самое простейшее: разнообразные селекты и модификации данных на декстопе. Новомодные wireless и проч. хотелось бы попробовать на вкус, но в практическом плане маловероятно. Если уж про инет, то какие-нибудь мОРМоты или рест надо юзать.

А так, меня Rik-овский старый форк очень даже устраивает :)

зы. у меня тут конкретная клиника нарисовалась с конкретным запросом на модификацию моего АРМа, поэтому я немного нервничаю
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086093
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док,

а функционал датасета? Который TDataset.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086125
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

Чтобы на уровне фибов. Если к коннекшиону две транзакции прикрутишь - было бы удобнее. Новомодные фишки четверки не копал, поэтому они пока по барабану. Самое главное, без танцев с бубнами вокруг клиентской библы. Ну и встроенные редакторы параметров коннекта и транзакций тоже был бы весьма кстати (я их на память не помню нифига, пришлось в старый код лазить, чтобы скопировать).

Соответственно, продвинутый редактор датасета а-ля фибы тоже весьма приветствуется, хотя приоритетнее фишки, озвученные выше
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086148
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
Последние Zeos абсолютно неюзабельные с кучей AV в дизайнтайме.

Что-то я в трекере репортов от тебя не видел

Док

Ну и с учетом того, что он прогает под линь, где птичка по его понятиям (как мне показалось) ставится только через консоль в виде сервера с демоном, все аргументы, что есть еще винда, где можно запустить несколько штук в виде приложений, тупо разбиваются о его непоколебимую уверенность в собственной правоте.

Вообще поставка птыца с оф. сайта под линь идет в виде шелл-инсталлятора, который копирует все в единственную папку /opt, не заморачиваясь с этими пингиньими выкрутасами "разбросай поставку по тысяче разных папок". соответственно, и копий м.б. много
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086153
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Что-то я в трекере репортов от тебя не видел

ты имеешь отношение к разработке?


Fr0sT-Brutal
Вообще поставка птыца с оф. сайта под линь идет в виде шелл-инсталлятора

вообще-то идеология линя - ставить все пакетом из официальной репы. Инсталлятор от разрабов птички - это просто подарок девелоперам.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086159
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доквообще-то идеология линя - ставить все пакетом из официальной репы.
в данном случае она хреновая. Про "тыщи папок" уже написали выше, и кроме того, "оне" сильно не любят обновлять дистр ФБ в этих самых репах. Типа мол, "мы не выкладываем свежие версии, они якобы мало протестированы", и прочая шляпа. В результате при наличии 3.0 в репах может быть вообще какой-то промежуточный 2.1.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086193
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
в данном случае она хреновая.

кто бы спорил. Косяки компонентов сабжа - яркий тому пример :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086231
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
ты имеешь отношение к разработке?

Имел одно время, сейчас только в режиме мониторинга. Но разработка идет, и на репорты реагируют активно (в особенности такие серьезные)

Док
вообще-то идеология линя - ставить все пакетом из официальной репы. Инсталлятор от разрабов птички - это просто подарок девелоперам.

И это кошмар какой-то, по крайней мере под Дебиан. isql стал isql-fb, зато gstat стал fbstat, все раскидано хрен знает куда (даже пришлось заводить файлик в блокноте с перечнем дир).
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086240
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
ты имеешь отношение к разработке?

Ну и в принципе при чем тут имеешь-не имеешь. Вон, в ветке ФБ заяви, что она глючна и сыплет АВ. Сразу получишь по лбу вопросом "Где тикет в трекере?" :)
Без репорта нет багфикса, я так считаю. И это в любом аспекте жизни актуально, даже вне ИТ.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086259
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

конечно же, ты прав. Тем более, там опенсорс. Просто я довольно большое время потратил на их изучение, даже взялся в лазаревской вики за правки статьи, где попытался описать эти компоненты. А тут такое. Короче, психанул :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086280
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док, вообще ФБ там одна из основных, так что баги точно будут правиться. А вот лазарь не особо (оба разраба на Дельфях сидят), потому могут всплывать косяки. Тем более это дизайн-тайм, его тестами не покроешь.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086283
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

Там и покрыаать нечего. Досточно в дизайн тайме попробовать законнектиться к любой бд
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086649
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Про "тыщи папок" уже написали выше, и кроме того, "оне" сильно не любят обновлять дистр ФБ в этих самых репах. Типа мол, "мы не выкладываем свежие версии, они якобы мало протестированы", и прочая шляпа. В результате при наличии 3.0 в репах может быть вообще какой-то промежуточный 2.1.

Ага, а меня потом спрашивают какого хрена зачем я Firebird собираю для raspberry pi самостоятельно...
Везде в репах один прошлогодний снег и ставится по куче каталогов, я как помню клиентов с FB из репы... глаз дергается...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086762
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то может помочь?
Пробую получить интерфейс IMaster из клиентской либы FireBird под Linux.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
procedure TForm1.Button1Click(Sender: TObject);
var
  LibHandle: TLibHandle;
  P: Pointer;
begin
  LibHandle := LoadLibrary('fbclient.so');
  if LibHandle <> NilHandle then
  begin
    P := GetProcAddress(LibHandle, 'fb_get_master_interface');
    if P = nil then
    begin
      ShowMessage('fb_get_master_interface не найден');
    end
  end
  else
    ShowMessage('fbclient не загрузилась');
end;    


Библиотека загружается, но указатель P после GetProcAddress(LibHandle, 'fb_get_master_interface') пустой.
Под Windows этот код работает полностью (только нужно поправить LoadLibrary(PChar('либа'))).
Чё я тут не так сделал? В чем косяк?

Если подключить модуль Fireberd.pas из поставки FB4, статическая функция function fb_get_master_interface : IMaster; cdecl; external 'fbclient'; работает а при динамической загрузке библиотеки под Linux и получения адреса fb_get_master_interface возвращается nil.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086773
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что говорит nm -D fbclient.so ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086906
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал запустить свое приложение на Лазарус с IBX от _Rik с БД FB4.0.

Большинство модулей работают нормально - соединение с БД есть (в режиме Embedded), все читается, вставляется, редактируется.
Но в одном из модулей обломилось на строке
fds.Prepare;
с ошибкой
Unknown SQL Data Type
В датасете только запрос select:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
select
    d.year_rep,
    sum(d.drec_id*dt.q1) as rec1,
    sum(d.drec_id*dt.q2) as rec2,
    sum(d.drec_id*dt.q3) as rec3,
    sum(d.drec_id*dt.q4) as rec4,
    sum(d.plrec_id*dt.q1) as plid1,
    sum(d.plrec_id*dt.q2) as plid2,
    sum(d.plrec_id*dt.q3) as plid3,
    sum(d.plrec_id*dt.q4) as plid4,
    sum(d.dvalue*dt.q1) as dq1,
    sum(d.dvalue*dt.q2) as dq2,
    sum(d.dvalue*dt.q3) as dq3,
    sum(d.dvalue*dt.q4) as dq4
from d
join dterms dt on (d.dterm_id = dt.dterm_id)
where (d.dtype_id = 1) and (d.personnel_id = 1117)
group by year_rep
order by 1 descending;


В iSQL запрос выполняется нормально.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40086915
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta,

Скорее всего после перемножения получается тип int128
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40088373
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений
dedRasta,

Скорее всего после перемножения получается тип int128

Точно. Поставил совместимость с 2.5 и все заработало. Т. е. в этом режиме программа стабильно заработала с БД, восстановленной с 2.5 под FB4 . Гонял ее целый день, но пока ошибок больше не было (Lazarus, Win7, IBX Юрия Копнина).
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40088997
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Комрады, никто пока не допилил новый форк?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40089069
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

что-то не работает или просто за цифирьками гонишься? :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40089309
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

от TonyW я форк ни разу не юзал ибо у меня он не взлетал. Думал, может кто приручил этого зверька. Хотел пошшупать :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40089647
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
wadman,

от TonyW я форк ни разу не юзал ибо у меня он не взлетал. Думал, может кто приручил этого зверька. Хотел пошшупать :)

Док, а менеджером пакетов Лазаря какой IBX ставится? Я обычно через него ставлю.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40090162
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

сейчас уже никакой. Как я писал выше, в компиляторе в последний раз что-то поменяли и у автора при сборке пакетов вываливается ошибка, что не хватает 6 параметров где-то в множестве, где определяется тип поля. При ручном добавлении 6 nil-ов пакет собирается успешно.

Я писал автору, ноль внимания. Видимо, занят.
https://forum.lazarus.freepascal.org/index.php/topic,55285.msg413012.html#msg413012
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40090341
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

дак ежели гоняешься за цифирьками транками, то будешь ловить ошибки и нежелание их исправлять авторами, пока не будет полноценный релиз. Это геморно и часто бесполезно потому что после пары кандидатов выходит релиз и в нем ошибка не повторяется.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40090611
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

да не гонюсь я, сколько повторять ;)
У Юры форк из совсем старых версий, сли не ошибаюсь. Потом какие-то плюшки новые появились. Вот их хочу попробовать.

Была мысля сегодня, поковыряться в коде самому
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40090629
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док знает, что такое "транк".
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40090646
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
wadman,

да не гонюсь я, сколько повторять ;)
У Юры форк из совсем старых версий, сли не ошибаюсь. Потом какие-то плюшки новые появились. Вот их хочу попробовать.

Была мысля сегодня, поковыряться в коде самому

Если закрыть глаза на новый oo api, то из новшеств новые типы данных. Чтобы добавить поддержку, надо с TIBBCDField что-то делать, оно какое-то неправильное. Я экспериментировал c INT128, могу его читать, но готовых типов для работы с ним в Lazarus и FPC нет и TField для него нет, а TIBBCDField не правильный, надо переделывать. Я с такими числами не работаю, практической ценности на данный момент они для меня не имеют, поэтому пока пытаюсь разобраться с объектно ориентированным API, оно для меня важнее. С ним пока всё нравится, если нет надобности в визуальных компонентах, можно вообще голым API обойтись, реализованным в модуле firebird.pas. Через ОО API подключаюсь, могу читать и писать числовые и текстовые данные. Не хватает примеров, особенно на паскале. На данный момент застрял на Blob. Как со всем разберусь, скорее всего начну переделывать компоненты( если на Postgres раньше не мигрируем ).
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40090764
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Док знает, что такое "транк".

Я много умных слов знаю ;) жаль, что это не рриносит денег
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40091002
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-,

Юра, привет.

Утратил твой мейл, пишу сюда. Последний твой форк не ставиться, зараза. Видимо, хорошо поковырялись в компиляторе
Код: pascal
1.
2.
3.
4.
5.
6.
IBCustomDataSet.pas(858,19) Error: Expected another 6 array elements

ibgeneratoreditor.pas(86,36) Error: Operator is not overloaded: "Class Of TIBQuery" and "Boolean"
ibgeneratoreditor.pas(87,36) Error: Operator is not overloaded: "Class Of TIBDataSet" and "Boolean"

ibgeneratoreditor.pas(35,60) Error: unit not found: IBCustomDataSet



Поправь, плз
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40091056
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
-Rik-,

Юра, привет.

Утратил твой мейл, пишу сюда. Последний твой форк не ставиться, зараза. Видимо, хорошо поковырялись в компиляторе
Код: pascal
1.
2.
3.
4.
5.
6.
IBCustomDataSet.pas(858,19) Error: Expected another 6 array elements

ibgeneratoreditor.pas(86,36) Error: Operator is not overloaded: "Class Of TIBQuery" and "Boolean"
ibgeneratoreditor.pas(87,36) Error: Operator is not overloaded: "Class Of TIBDataSet" and "Boolean"

ibgeneratoreditor.pas(35,60) Error: unit not found: IBCustomDataSet



Поправь, плз

А куда ставишь? Я уже там давно ничего не трогал, может в Лазарусе чего изменилось?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40091087
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А куда ставишь? Я уже там давно ничего не трогал, может в Лазарусе чего изменилось?
У меня на 2.0.12 работает давно без проблем. А на 2.2.0RC1 не пробовал, на него поставил английскую, тоже встала без проблем и на тестовых программках вроде работает.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40091114
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-
Док
-Rik-,

Юра, привет.

Утратил твой мейл, пишу сюда. Последний твой форк не ставиться, зараза. Видимо, хорошо поковырялись в компиляторе
Код: pascal
1.
2.
3.
4.
5.
6.
IBCustomDataSet.pas(858,19) Error: Expected another 6 array elements

ibgeneratoreditor.pas(86,36) Error: Operator is not overloaded: "Class Of TIBQuery" and "Boolean"
ibgeneratoreditor.pas(87,36) Error: Operator is not overloaded: "Class Of TIBDataSet" and "Boolean"

ibgeneratoreditor.pas(35,60) Error: unit not found: IBCustomDataSet




Поправь, плз

А куда ставишь? Я уже там давно ничего не трогал, может в Лазарусе чего изменилось?

На транках, вестимо

В компиляторе в последние 6 мес довольно значительные правки были (см. сообщения про недостающие 6 элементов массива. Я выше уже писал, что там надо 6 nil'ов добавить. А вот последние две ошибки, хз, что там. Не ковырялся
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40091115
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta,

в релизах по понятным причинам часто содержатся баги и недочеты, которые в транках уже оперативно поправлены. Поэтому я их не использую
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118366
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотел сделать демку IBXtest из дистрибутива IBX visual-t. ru портабельной, чтоб можно было без сервера запускать. Переименовал fbembed.dll в fbclient, скопировал в папку с демкой вместе с базой и прочими dll. При соединении с базой получаю сообщение: Проект IBXtest вызвал класс исключения EIB InterBase Error с сообщением Character Set Win1251 is not installed. Error while parsing procedure SP_Client_Ins's BLR. Не смог найти, где этот карактер сет нужно устанлвить
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118374
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
Переименовал fbembed.dll в fbclient
какая версия?
ибо есть нюансы.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118379
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
Хотел сделать демку IBXtest из дистрибутива IBX visual-t. ru портабельной, чтоб можно было без сервера запускать. Переименовал fbembed.dll в fbclient, скопировал в папку с демкой вместе с базой и прочими dll. При соединении с базой получаю сообщение: Проект IBXtest вызвал класс исключения EIB InterBase Error с сообщением Character Set Win1251 is not installed. Error while parsing procedure SP_Client_Ins's BLR. Не смог найти, где этот карактер сет нужно устанлвить

Компонент TIBDatabase щелкнуть 2 раза, откроется редактор, в поле Character set выбрать UTF8
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118387
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Firebird 2.9
Win 7
Lazarus 2.0.12
Щелкнул. Уже стоит Utf8. Жму "Test" - говорит "Successful connection". Запускаю программу - с базой соединяется нормально, на открытии IBDataSet1 та же ошибка.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118389
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
Firebird 2.9
уверен?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118391
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dedRasta
Firebird 2.9

Лазарус эдишн...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118402
-Rik-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
Firebird 2.9
Win 7
Lazarus 2.0.12
Щелкнул. Уже стоит Utf8. Жму "Test" - говорит "Successful connection". Запускаю программу - с базой соединяется нормально, на открытии IBDataSet1 та же ошибка.

Попробовал собрать на Win7, Lazarus 2.0.12, fbembed 2.5.9, проект из папки examples\IBXTest
Всё собралось успешно и работает, в любое место папку с выполняемым файлом и базой переношу, работает везде.
Я всё содержимое embed положил рядом с выполняемым файлом, в настройках соединения указал как на скриншоте.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118406
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta
на открытии IBDataSet1 та же ошибка.

Таблица может не в той кодировке?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118409
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRastaскопировал в папку с демкой вместе с базой и прочими dll

Но подпапку INTL явно забыл.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118426
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ура! Папочку intl ес-но забыл, а ежели по правде, то и не знал. Всем огромное спасибо. А версия FB, конечно, 2.5.9. И все сейчас вполне портабельно работает
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118477
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Rik-,

Юра, а ты можешь к редактору прикрутить эдит с номером порта? И заодно в редакторе компонента добавить published свойства Protocol/Server/Port?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118480
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
-Rik-,

Юра, а ты можешь к редактору прикрутить эдит с номером порта? И заодно в редакторе компонента добавить published свойства Protocol/Server/Port?
могу поделиться своим редактором, в нем есть.
при желании, тонкая доводка производится напильником
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118483
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

давай, с удовольствием гляну!
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118487
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Мимопроходящий,

давай, с удовольствием гляну!
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118488
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если там чего-то не хватает для сборки, информируй.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118557
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
если там чего-то не хватает для сборки, информируй.

Александр, а чем твой IBX от ванильного отличается?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118580
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar
Мимопроходящий
если там чего-то не хватает для сборки, информируй.
Александр, а чем твой IBX от ванильного отличается?
всем.
у нас он был форкнут от древнего IBX 4.2, и с тех пор развивался независимо от.
но он так сказать, "корпоративный".
возможно когда-то дойдут руки причесать его и выложить.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118590
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

После адаптации под четверку было бы крайне желательно.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118603
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
После адаптации под четверку было бы крайне желательно.
четвёрку пока не щупали.
в плане "адаптивности" к тому, об чём сейчас такая битва (ReadConsistency), у нас есть:
1. "незакрываемые" при коммите датасеты
2. автоматический FetchAll либо же FetchLimited, c вызовом isc_dsql_free_statement в конце того и другого.
3. раздельные транзакции для чтения и модификации в рамках одного датасета

а вот новые типы, тайм зоны и т.п. - конь ещё не валялся.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118655
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
если там чего-то не хватает для сборки, информируй.

Спасибо! Сегодня-завтра попробую на поставить. Отпишусь обязательно
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118703
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подменил Юрины файлы на приложеные, при компиляции пакета получил
Код: pascal
1.
2.
3.
4.
5.
6.
IBDatabaseEdit.pas(3,2) Warning: Illegal identifier "UNSAFE_TYPE" for $WARN directive
IBDatabaseEdit.pas(61,23) Error: Duplicate identifier "Name"
IBDatabaseEdit.pas(61,23) Hint: Identifier already defined in unit CLASSES: classesh.inc at line 2146
IBDatabaseEdit.pas(62,24) Error: Duplicate identifier "Name"
IBDatabaseEdit.pas(62,24) Hint: Identifier already defined in unit CLASSES: classesh.inc at line 2146
IBDatabaseEdit.pas(63,27) Error: Duplicate identifier "Name"



fpc/lazarus trunk
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118705
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и до кучи: для Лазаря, наверное, надо привязки (анкоринг) отдельно делать
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118710
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Подменил Юрины файлы на приложеные, при компиляции пакета получил
Код: pascal
1.
2.
3.
4.
5.
6.
IBDatabaseEdit.pas(3,2) Warning: Illegal identifier "UNSAFE_TYPE" for $WARN directive
IBDatabaseEdit.pas(61,23) Error: Duplicate identifier "Name"
IBDatabaseEdit.pas(61,23) Hint: Identifier already defined in unit CLASSES: classesh.inc at line 2146
IBDatabaseEdit.pas(62,24) Error: Duplicate identifier "Name"
IBDatabaseEdit.pas(62,24) Hint: Identifier already defined in unit CLASSES: classesh.inc at line 2146
IBDatabaseEdit.pas(63,27) Error: Duplicate identifier "Name"




fpc/lazarus trunk
1. убери {$WARN UNSAFE_TYPE OFF}
2. замени (творчески) Name на aName, везде где встречается.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118712
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
ну и до кучи: для Лазаря, наверное, надо привязки (анкоринг) отдельно делать

чуть растяни форму вниз, до нормализации.
якоря там действительно странно привязаны (почему-то).
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118723
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
1. убери {$WARN UNSAFE_TYPE OFF}
2. замени (творчески) Name на aName, везде где встречается.

Код: pascal
1.
2.
3.
4.
5.
IBDatabaseEdit.pas(220,152) Error: Identifier not found "ID_Ok" //решается добавлением в uses LCLType
IBDatabaseEdit.pas(267,66) Error: Identifier not found "GetComponentPath"
IBDatabaseEdit.pas(270,61) Error: Identifier not found "GetComponentPath"
IBDatabaseEdit.pas(390,25) Error: Identifier not found "ibxeInvalidPortValue"
IBDatabaseEdit.pas(418,12) Error: Duplicate identifier "GetProtocolType"


Часть функций/констант где-то другом месте описана, видимо.

GetProtocolType описана в коде дважды: как приватная функция класса и как локальная. Лазарь, видимо, к таким вещам более строг, чем дельфи
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40118912
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
IBDatabaseEdit.pas(267,66) Error: Identifier not found "GetComponentPath"
оно у меня в IBUtils. файл приложен.
Док
IBDatabaseEdit.pas(390,25) Error: Identifier not found "ibxeInvalidPortValue"
тут можно выкрутиться примерно так:
Код: pascal
1.
raise EIBError.Create('Invalid port value: ' + S)


Док
IBDatabaseEdit.pas(418,12) Error: Duplicate identifier "GetProtocolType"
GetProtocolType описана в коде дважды: как приватная функция класса и как локальная. Лазарь, видимо, к таким вещам более строг, чем дельфи
переименуй локальную, ну например в GetProtocol (и там где она используется)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119144
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

ну, вообщем, пошаманил и собрал тестовый модуль. IBUtils не стал прикручивать - куча несовместимостей и ошибок приведения типов полезла - плюнул, впендюрил в интерфейсную часть пару недостающих функций и все скомпилялось. Заодно расставил якоря компонентам на форме



Из недостатков:

1. кнопка выбора БД в диалоге дизэйблится для удаленного подключения (можно просто закомментить первую строчку в SetEditors)
2. кнопка тестирования подключения ожидаемо дает ошибку (на скрине), имхо, наверное клиентскую библу надо в этом же модуле указывать (и прикручивать диалог выбора на форме).

Приложил исходники (вложил на всякий пожарный и ресурсный файл). Достаточно заменить в эти файлы и перекомпилять dclibx.lpk

зы. Саш, спасибо за советы
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119585
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не легче было в имеющийся редактор вставить номер порта? Других-то отличий не видать. Или просто всё в conn string упихивать (я недавно открыл для своего софта URL-ы и теперь рассовываю везде где только можно :))
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119684
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

конечно, легче. Но ведь вопрос не так стоял ;)

По-хорошему, надо прикрутить на форму диалог выбора клиентской библы и передать пути в редактор TIBDatabase при его закрытии. Если руки дойдут, сделаю
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119688
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-хорошему надо выкинуть всю эту хрень для недоразвитых и оставить всего одно
свойство - ConnectionString.

Разделение на протокол-хост-база имеет смысл когда по одним и тем же данным надо
собирать строку подключения к самой базе и к сервис-менеджеру, но у TIBDatabase
и близко такого функционала нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119771
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

зато так понятнее. А то приходится в проперть Database писать ручками "localhost/3052:blah-blah-blah"
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119796
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Dimitry Sibiryakov,

зато так понятнее. А то приходится в проперть Database писать ручками "localhost/3052:blah-blah-blah"


Имхо, такое указание строки коннекта - наиболее простое и понятное. Без всяких мастеров и прочей фигни, привносящей свои заморочки.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119797
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

+
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119828
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строке коннекта не хватает еще указания клиента.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119842
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fraks
Имхо, такое указание строки коннекта - наиболее простое и понятное. Без всяких мастеров и прочей фигни, привносящей свои заморочки.

Еще б она была в привычном формате URL, а не собственном, который постоянно забывается и заставляет впадать в ступор
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119855
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

а мешает его сделать firebird://user:pas@host:port/db/path?param=value&... ?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119860
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Док
Dimitry Sibiryakov,

зато так понятнее. А то приходится в проперть Database писать ручками "localhost/3052:blah-blah-blah"


Имхо, такое указание строки коннекта - наиболее простое и понятное. Без всяких мастеров и прочей фигни, привносящей свои заморочки.

Если стаю собак на этом съел, то тебе и компоненты не нужны. Пиши сразу свою обертку ;)

Пыс: одни только говорят, другие - делают. Первых всегда больше
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119866
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
fraks
пропущено...


Имхо, такое указание строки коннекта - наиболее простое и понятное. Без всяких мастеров и прочей фигни, привносящей свои заморочки.

Если стаю собак на этом съел, то тебе и компоненты не нужны. Пиши сразу свою обертку ;)

Пыс: одни только говорят, другие - делают. Первых всегда больше

А я удивлен сколько строке коннекта уделяется внимания.
Будто это рутина, на которую каждый день часы уходят. :)
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40119940
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дегтярев Евгений
Fr0sT-Brutal,

а мешает его сделать firebird://user:pas@host:port/db/path?param=value&... ?


У себя так и сделал, да. Но в IBE и прочих тулзах все равно остается родной формат
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120024
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Строке коннекта не хватает еще указания клиента.


Хм... Вспомнилось...

Как-то мне понадобилось выяснить, а как же компоненты доступа определяют имя библиотеки, если это имя нельзя задать напрямую... Наверное это были FIB+, т.к. я только их и использую, но это не точно....

Когда я увидел каким образом определяется/задается имя библиотеки и ее типа версия, я от этого натягивания совы на глобус, фейспалмами чуть лоб себе не пробил...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120027
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Dimitry Sibiryakov,

зато так понятнее. А то приходится в проперть Database писать ручками "localhost/3052:blah-blah-blah"

Удивлен что кто-то занимается хардкожением строки коннекта в программу.
У меня строка коннекта задается извне, из ini-файла. Посему ее вид мне очень привычен и понятен.

Этот же формат используется в gbak с чем так же регулярно сталкиваюсь.

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

Из той же оперы - визуальные построители sql-запросов.
Блин, я знаю что мне надо, дай мне это написать просто текстом. Нет, блин, давай будем решать еще ребусы, а каким образом через этот построитель получить нужный мне запрос. При этом возможность просто написать запрос мы у тебя отберем.
И не только отберем, но еще и не дадим исправить неправильные попытки этого мышепостроения, и каждую попытку нужно начинать с нуля. Нафиг эти квесты...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120029
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
wadman
Строке коннекта не хватает еще указания клиента.


Хм... Вспомнилось...

Как-то мне понадобилось выяснить, а как же компоненты доступа определяют имя библиотеки, если это имя нельзя задать напрямую... Наверное это были FIB+, т.к. я только их и использую, но это не точно....

Когда я увидел каким образом определяется/задается имя библиотеки и ее типа версия, я от этого натягивания совы на глобус, фейспалмами чуть лоб себе не пробил...

Захотел показать этот перл, и похоже это все-таки не в FIB+ было, а в Lazaruz :)

Lazarus 2.0.2

ibase60.inc

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
{$IFDEF Unix}
  {$DEFINE extdecl:=cdecl}
  const
    gdslib = 'libgds.'+sharedsuffix; // Needs completion ?
    libfc  = 'libfbclient.'+sharedsuffix;
    libem  = 'libfbembed.'+sharedsuffix;
    v2  = {$ifndef darwin}'.2'{$else}''{$endif};
    v21 = {$ifndef darwin}'.2.1'{$else}''{$endif};
    v25 = {$ifndef darwin}'.2.5'{$else}''{$endif};
    v251 = {$ifndef darwin}'.2.5.1'{$else}''{$endif};
    fbclib2      = libfc+v2;
    fbembedlib2  = libem+v2;
    fbclib21     = libfc+v21;
    fbembedlib21 = libem+v21;
    fbclib25     = libfc+v25;
    fbembedlib25 = libem+v25;
    fbclib251    = libfc+v251;
    fbembedlib251 = libem+v25;
    // Set default here
    fbclib       = fbclib251;
    fbembedlib   = fbembedlib251;
{$ENDIF}
{$IFDEF Windows}
  {$DEFINE extdecl:=stdcall}
  const
    gdslib = 'gds32.dll';
    fbclib = 'fbclient.dll';
    fbembedlib = 'fbembed.dll';
    libfc  = fbclib;
    libem  = fbembedlib;
{$ENDIF}
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120039
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks> Удивлен что кто-то занимается хардкожением
fraks> строки коннекта в программу.

Ну совсем-то уж глупости говорить не надо.
Формочка для формирования строки коннекта
никакого отношения к способу её хранения не
имеет - можно точно также её в конфиге хранить.


> Из той же оперы - визуальные построители sql-запросов.
> Блин, я знаю что мне надо, дай мне это написать просто текстом.

В нормальных обычно можно вписать текст и напрямую.
Если нельзя - есть прямой доступ в БД для самых-самых.


P.S. В целом - лучше таки вернуться к обсуждению сабжа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120170
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fraks
Захотел показать этот перл, и похоже это все-таки не в FIB+ было, а в Lazaruz :)

А что такого? Это к юниксоидам вопрос, кто додумался 1) пихать версию в имя либы 2) пихать все либы в общую помойку. Но если установщик был достаточно разумный, то ссылка на свежую либу будет с именем без версии, ее в большинстве случаев и надо юзать.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120178
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
fraks
Захотел показать этот перл, и похоже это все-таки не в FIB+ было, а в Lazaruz :)

А что такого? Это к юниксоидам вопрос, кто додумался 1) пихать версию в имя либы 2) пихать все либы в общую помойку. Но если установщик был достаточно разумный, то ссылка на свежую либу будет с именем без версии, ее в большинстве случаев и надо юзать.

это (версия в имени длл) как я понимаю их способ решения dll hell. решение неоднозначное. в случае например openssl пришлось бегать искать самую свежую дллку 'руками' не самым простым способом. однако это проблемы решило.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120270
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
makhaon
это (версия в имени длл) как я понимаю их способ решения dll hell. решение неоднозначное. в случае например openssl пришлось бегать искать самую свежую дллку 'руками' не самым простым способом. однако это проблемы решило.

Ну, это косяк того, кто за пакет отвечает, что "libname.so" не ведет на самую свежую версию. В чем-то логика есть: если проге нужна прям конкретная версия, она ее и указывает, а остальные должны юзать что дают. Но чтобы это работало как предполагается, либы должны ставиться аккуратно. И это еще ладно при установке, а вот если удаляется более свежий пакет...
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120277
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В линухе у библиотек очень часта проблема с обратной совместимостью, поэтому
библиотека без версии может экспортировать совсем не тот интерфейс, который от
неё ожидаешь. Что, впрочем, не относится и к libfbclient.so. У той только вперёд
совместимость страдает.

В сочетании с symbol hell это русская рулетка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120283
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
В линухе у библиотек очень часта проблема с обратной совместимостью, поэтому библиотека без версии может экспортировать совсем не тот интерфейс, который от
неё ожидаешь.
у них до сих пор нет обязательной линковки с ресурсом содержащим номер версии?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120288
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У них даже нет общепринятого способа указать номер версии в библиотеке вообще кроме
циферок в имени.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120292
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
У них даже нет общепринятого способа указать номер версии в библиотеке вообще кроме циферок в имени.
#$@#$^%%!
и эти люди запрещают нам ковырять в носу... ©
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120327
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поэтому забить на юниксовый принцип размещения компонентов и всё своё носить с собой
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120333
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Dimitry Sibiryakov
В линухе у библиотек очень часта проблема с обратной совместимостью, поэтому библиотека без версии может экспортировать совсем не тот интерфейс, который от
неё ожидаешь.
у них до сих пор нет обязательной линковки с ресурсом содержащим номер версии?

У тебя в редакторе, кстати, тоже об клиентской библиотеке ни гу-гу ;)

Касаемо строки коннекта, пофиг, где ее хранить. Главное - как задавать. А вот это и есть задача редактора, имхо. Ибо, это рутина
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120338
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Поэтому забить на юниксовый принцип размещения компонентов и всё своё носить с собой

Тогда тебе лучше на файл-сервер сразу переходить, типа sqlite3 :)

Я не очень большой спец в линухе, но впечатление такое, что при коннекте либо надо задавать имя клиента явно, либо жёстко "зашивать" имя симлинка в софтине, а при деплое ручками его создавать.

Большинство, кстати, второй способ предпочитают. А мне по душе больше первый.

Кстати, на макоси птичка вообще ставится только в определенное место. И я не уверен, что ее можно поставить больше одной
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120520
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
Тогда тебе лучше на файл-сервер сразу переходить, типа sqlite3 :)

Авторам официального линух пакета Огнептицы тоже посоветуешь на файл-сервер сразу переходить? :D Они не маются юниксовой дурью размазывания компонентов софта тонким слоем по системе
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120636
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Док
Тогда тебе лучше на файл-сервер сразу переходить, типа sqlite3 :)

Авторам официального линух пакета Огнептицы тоже посоветуешь на файл-сервер сразу переходить? :D Они не маются юниксовой дурью размазывания компонентов софта тонким слоем по системе

а причем тут авторы "официального линух пакета Огнептицы"? Речь, как я понимаю,шла про embedded-версию сервера. Даже если ставить птичку не из официальной репы, а в /opt/firebird (из архива с инсталлятором), то симлинк на клиентскую библиотеку все равно будет создаваться в /usr/lib/ , где ее и будут искать "традиционные" компоненты доступа (хотя, лучше бы в /usr/lib/хххх-gnu , потому что, КМК, сюда смотрят в первую очередь - есть печальный опыт ).

Настоящую embedded-сборку под линух придется собирать самому (мне, например, таковую любезно дал Игорь-Gallemar).
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120642
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доксимлинк на клиентскую библиотеку все равно будет создаваться в //usr/lib//, где
ее и будут искать "традиционные" компоненты доступа

И вот тут мы выходим на ещё одни грабли этой бесформенной кучи софта под
названием "линух": какой разрядности будет найденная там библиотека и где надо
искать (куда класть) библиотеку правильной разрядности. Ответы сильно
различаются от дистрибутива к дистрибутиву вплоть до полного "ХЗ".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120647
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Доксимлинк на клиентскую библиотеку все равно будет создаваться в //usr/lib//, где
ее и будут искать "традиционные" компоненты доступа

И вот тут мы выходим на ещё одни грабли этой бесформенной кучи софта под
названием "линух": какой разрядности будет найденная там библиотека и где надо
искать (куда класть) библиотеку правильной разрядности. Ответы сильно
различаются от дистрибутива к дистрибутиву вплоть до полного "ХЗ".
Опять же, боюсь ошибиться, но в нынешних линуксах мухи отделены от котлет, на i386-архитектуре фиг запустишь 64-битный пакет и наоборот (да, я в курсе, что можно поставить на amd64 "нужные" пакеты и запускать 32-битные приложения, но это хак). Так что, КМК, не так актуально, как для винды
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120664
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокТак что, КМК, не так актуально, как для винды

Актуальность один-в-один. На 32-х разрядной винде тоже не запустишь 64-х
разрядные приложения, а 32-х разрядные пакеты на линухе ставятся или
компилируются левой задней.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120671
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
Речь, как я понимаю,шла про embedded-версию сервера.

Embedded надо носить с собой
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120677
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

в смысле, ты его собрал и везде в линухах используешь?
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120690
svd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

разве существует embedded для линукса? В 2.* такого точно не было. С 3.* вероятно что то есть, ведь магия в строке подключения.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120713
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svd,

самостоятельные сборки для тройки - вполне. Вон, у "Игоря" спроси, он сделал.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120744
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док, зачем собрал? Извлек из официального дистриба и вперед. Ты ведь собрал свою прогу, значит, подтянуть к ней либы тоже не составит труда.
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40120752
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalИзвлек из официального дистриба и вперед.

....а тут внезапно навстречу трамвай из хардкоженного rpath.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Lazarus + IBX
    #40121299
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svdразве существует embedded для линукса? В 2.* такого точно не было. С 3.* вероятно что то есть, ведь магия в строке подключения.
- в 2.x embedded на Линуксе автоматом, когда строка коннекта не содержит имя сервера. На винде - отдельная клиентская либа, включающая в себя сервер.
- в 3.x и на винде и на линуксе embedded автоматом, когда строка коннекта не содержит имя сервера.

Собственно, всё.
...
Рейтинг: 0 / 0
203 сообщений из 203, показаны все 9 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus + IBX
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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