FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Модератор: Модераторы

Ответить
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

я ещё к тому что исключение может быить то и от самогос ервера FB (например сработал exception или constaraint) - вот с ними что делать? выдать на гора - или ретранслировать в OnDeleteError?
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

alexs писал(а):я ещё к тому что исключение может быить то и от самогос ервера FB (например сработал exception или constaraint) - вот с ними что делать? выдать на гора - или ретранслировать в OnDeleteError?
Тут дело такое... если выдать нагора, то не очень понятно, где его перехватывать, если delete делается не из кода. Там же события типа OnException нету. А на уровне приложения обрабатывать может оказаться не очень удобно. Может лучше транслировать?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

В принципе можно сделать так - есть обработчик OnDeleteError - выдаём туда
нет обработчика - выдаём наверх

тогда в этот обработчик если он будет назначен полетят все ошибки - и те которые генерит птица и те, которые сам компонент вызовет (например если RefreshAfterDelete обнаружит записи)
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

alexs писал(а):В принципе можно сделать так - есть обработчик OnDeleteError - выдаём туда
нет обработчика - выдаём наверх
Ну да, логично.

alexs писал(а):тогда в этот обработчик если он будет назначен полетят все ошибки - и те которые генерит птица и те, которые сам компонент вызовет (например если RefreshAfterDelete обнаружит записи)
Ну и пусть все летят, там по классу эксепшена рассортируем.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

на этом и остановимся - напишу себе в TODO лист
заодно надо обработать наверное и события OnEditError
будет рабоать по аналогии с выше описанным
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Это я читал
1. облом в том что на SF стоит svn 1.3, там нет svnsync
2. вдобавок хотелось бы чтобы можно было синхронизировать не постоянно - а отдельной командой

ну по ярлыку это и можно, просто последний пункт не делать, и что там на SF тоже вроде все равно у тебя первичный cvn локальный, а тот запасной. чуть попозжа попробую на ПМС синхронизоваться , если пойдет инструкцию напишу. но у тебя все равно должен будет 1,4 ставить.
Аватара пользователя
shade
энтузиаст
Сообщения: 879
Зарегистрирован: 21.02.2006 19:15:48
Откуда: http://shamangrad.net/
Контактная информация:

Сообщение shade »

облом в том что на SF стоит svn 1.3, там нет svnsync

Нет никакой разницы, что стоит на SF, svnsync должен быть только у тебя
см. Резервное копирование и создание зеркала svn-хранилища

вдобавок хотелось бы чтобы можно было синхронизировать не постоянно - а отдельной командой

Сделай ярлык с командой
svnsync sync MIRROR_URL
и всё

На PMS, пока зеркала будут толко в качестве исключений (по объективным причинам)
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Залит на сайт http://alexs75.narod.ru/fpc/fbdataset/alexsDataSet_1_27_RC2.zip - Кандидат в релизы № 2
Аватара пользователя
shade
энтузиаст
Сообщения: 879
Зарегистрирован: 21.02.2006 19:15:48
Откуда: http://shamangrad.net/
Контактная информация:

Сообщение shade »

Можно сделать такой вариант (сам им пользуюсь):
1. создаешь у себя на локалке основное хранилище
2. создаешь зеркало на сервере (на SF не знаю возможно ли, а у нас на PMS - нужно просто меня попросить)
3. все изменения фиксируешь у себя, а время от времени синхронизируешь зеркало через svnsync

Но такой вариант подходит только для одиночного разработчика... зато удобно, если у тебя нет постоянного подключения к интернет :wink:
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

alexs
RC не смотрел но в преведущем

так работает

Код: Выделить всё

dsCM.DataBase := fmMain.db;
dsCM.Transaction := trCM;


так падает с ошибкой не назначена транзакция

Код: Выделить всё

dsCM.Transaction := trCM;
dsCM.DataBase := fmMain.db;


я так понимаю там при назначении базы он транзакции пытается от туда поставить, если так то проверяй может она уже есть =) или только в дизайн тайме так делай.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

учтём
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

alexs писал(а):Залит на сайт http://alexs75.narod.ru/fpc/fbdataset/alexsDataSet_1_27_RC2.zip - Кандидат в релизы № 2


иконки для сторед прог и метеданых так и нету =( не красяво

Есть художнику на сайте ? нарисуйте 2 картинки 16*16 .

наконец то установил UIB и датасет в разные папки сча раскажу как оно у меня, потом может в инструкцию допишешь.

структура папок

Код: Выделить всё

components\
components\uib
components\FBDataSet

компелируем uib
опции компилятора все чисто кроме "Каталог вывода модулей"

Код: Выделить всё

lib\$(TargetCPU)-$(TargetOS)

компелируем, говорим установить, говорим не пересобирать

компилируем dcl_fb_id_dataset
опции компилятора все очищаем, ставим следущее
"Каталог вывода модулей"

Код: Выделить всё

..\uib\lib\$(TargetCPU)-$(TargetOS)

"Другие модули"

компелируем, говорим установить, говорим не пересобирать


компилируем fbdemofpc
опции компилятора все очищаем, ставим следущее
"Каталог вывода модулей"

Код: Выделить всё

..\uib\lib\$(TargetCPU)-$(TargetOS)

"Другие модули"

компелируем, говорим установить, говорим пересобирать

после перезапуска все установлено.


файл jedi.inc как я понял не используется и его надо удалить чтоб не смущал.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

по хорошему в другие модули для моих пакетов не надо делать ссылки на UIB - ведь он есть в зависимостях, лазарь его должен автоматом подцеплять к путям.

Attid писал(а):файл jedi.inc как я понял не используется и его надо удалить чтоб не смущал.

Тяжёлое наследние прошлого :) - надобудет пофиксить.

Attid писал(а):иконки для сторед прог и метеданых так и нету =( не красяво

StoredProc ещё не работает как я хочу, поэтому и нет иконки

а MetaData - я возможно от него вобще откажусь - в приницпе весь необходимы функционал по генерации исходных текстов есть в UIB

А с художниками напряг - так что принимаю любые пожелания и предложения - сам нарисую плохо. я и для FBDataSet иконку - всеголиш перарботал от RxQuery
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

по хорошему в другие модули для моих пакетов не надо делать ссылки на UIB - ведь он есть в зависимостях, лазарь его должен автоматом подцеплять к путям.


ну хоть убей не компилируется, утебя там тоже прописанно в путях, так что либо у тебя в пакете что-то не то настроено либо одно из двух =)
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

могу предложить вот так =)
http://ifolder.ru/3610010

c файлом поспешил он в
fb_define.inc юзается.
но мне не прикольно его в двух местах держать и править в 2х местах про версию и язык.
Ответить