Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 40 41 42 43 44 45 46 [47] 48 49   вперед  Ctrl
 Re: FireDAC  [new]
svnvlad
Member

Откуда:
Сообщений: 2170
Как перевести проект с AnyDAC на FireDAC?
В первом аббревиатуры начинаются с AD, во втором с FD. Вручную переводить слишком долго, да и как открыть проект, если он 500 раз говорит: "Отсутствует ADQuery", и удаляет их со всех форм?
5 мар 20, 04:32    [22093064]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Vlad F
Member

Откуда:
Сообщений: 1317
svnvlad,

1) Найти конвертер;
2) Написать конвертер;
3) Нанять литературных негров.
5 мар 20, 07:32    [22093080]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
PrimaryPro
Member

Откуда:
Сообщений: 139
В свое время я перевел через Far manager, plugin Поиск и Замена
5 мар 20, 08:06    [22093089]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9867
http://docwiki.embarcadero.com/RADStudio/Rio/en/Migrating_AnyDAC_Applications_to_FireDAC
5 мар 20, 09:34    [22093137]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
svnvlad
Member

Откуда:
Сообщений: 2170
Dmitry Arefiev
http://docwiki.embarcadero.com/RADStudio/Rio/en/Migrating_AnyDAC_Applications_to_FireDAC

Здорово. Но выкидывает некоторые веселые фокусы. Например, слово Padding заменяет на PFDding. Можно ли это как-то обойти в конфиг.файлах?
\bC_AD -> C_FD
\ber_AD -> er_FD
\bS_AD -> S_FD
\bTAD(?!v) -> TFD
\bTADVersion -> TFDVersion
\bTADVariantArray -> TFDVariantArray
\bTADValWrapper -> TFDValWrapper
\bPAD -> PFD
\bIAD -> IFD
\bEAD -> EFD
\bAD(?!river|rv|ata|ate|est|D|MIN|VISED|ot|ll|LL|esc|iag|eco|ir|SODBC|Aptive|SCli|SMeta|SWrapper|apter) -> FD
\bAnyDAC -> FireDAC


К сообщению приложен файл. Размер - 23Kb
12 мар 20, 03:39    [22097269]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
svnvlad
Member

Откуда:
Сообщений: 2170
Вышел из положения созданием еще одного конфигурационного файла с командой
\bPFDding -> Padding
12 мар 20, 04:10    [22097275]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
svnvlad
Member

Откуда:
Сообщений: 2170
Можно ли в FireDAC использовать TFDEventAlerter для MySQL? Любым образом, чтобы при любом изменении таблица сообщала об этом в приложение.
19 мар 20, 23:11    [22102617]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9867
Нет. MySQL не имеет таких механизмов
19 мар 20, 23:33    [22102621]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Prot_XT
Member

Откуда: KZ, Костанай
Сообщений: 223
В 10.3.3 перестал работать TFDEventAlerter. Работа встала... есть какие-от решения проблемы?
2 апр 20, 09:45    [22109731]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9867
Options.Synchronize установить в False
2 апр 20, 10:00    [22109739]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Prot_XT
Member

Откуда: KZ, Костанай
Сообщений: 223
Dmitry Arefiev,
Помогло, спасибо.
2 апр 20, 10:37    [22109755]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Prot_XT
Member

Откуда: KZ, Костанай
Сообщений: 223
Странно... перестал работать вот такой простой код в событии OnAlert

var Timer := TTimer.Create(Self);
Timer.Interval := 2000;
Timer.OnTimer :=  OnTimer;
Timer.Enabled := True;


Если кинуть компонент Timer1, то событие отрабатывает. Это связано с Options.Synchronize ?
2 апр 20, 12:31    [22109814]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
zinpub
Member

Откуда:
Сообщений: 425
Prot_XT
Странно... перестал работать вот такой простой код в событии OnAlert

var Timer := TTimer.Create(Self);
Timer.Interval := 2000;
Timer.OnTimer :=  OnTimer;
Timer.Enabled := True;


Если кинуть компонент Timer1, то событие отрабатывает. Это связано с Options.Synchronize ?


TTimer'у нужен цикл обработки сообщений...
2 апр 20, 12:59    [22109831]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9867
TTimer это VCL, поэтому в OnAlert надо самому вызывать Synchronize для означенного кода
2 апр 20, 14:43    [22109895]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
L_argo
Member

Откуда:
Сообщений: 1209
Проблемы с фильтрацией полей типа TFmtBCDField. Целочисленный фильтр работает ( [MyField] < 50 )
Но стоит поставить дробное значение, то сразу облом.
C точкой не понимает как число, а на зпт ругается:
[FireDAC][Stan][Eval]-101. Expression unexpectedly terminated.

Над полем никаких предобработок нет. Прямо из БД.

Сабж старый. Файлы датированы 2016 г. Переходная версия от AD к FD.

ПС: Какой идиот придумал эти разные разделители ??? Всю жизнь с ними проблемы.

С проблемой локальной фильтрации форматированных дат даже не пытаюсь бороться. Это неразрешимая задача.
3 апр 20, 12:13    [22110432]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 6055
FireDac, Linux, PostgreSQL.


Проблема с кодировкой строк в TFDParams.

Задание значений для ExecSQL на insert через AsString/AsWideString/Value приводит к кракозябрам.

База - UTF8.

В коннекте указан Params.AddPair('CharacterSet','UTF8');

Если в коннекте указать Win1251 то кракозябр нет, но иногда валится через "ОШИБКА: для символа с последовательностью байт из кодировки xXX "WIN1251" нет эквивалента в "UTF8""

Если работать с FDQuery.Fields[x].AsString - все ок. Проблем с кодировками нет.

Сообщение было отредактировано: 3 апр 20, 18:13
3 апр 20, 18:10    [22110689]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 6055
И да, под виндой - все ок что через Win1251 что через UTF8.
3 апр 20, 18:11    [22110690]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
rgreat
Member

Откуда:
Сообщений: 6055
Вроде помогло менять в FDS.Params.CreateParam типы ftString на ftWideString, но это неудобно (ибо ранее типы копировались с источника как есть) и ИМХО это плохое поведение со стороны FireDAC.

Должно бы быть одинаково под разными операционками.
3 апр 20, 18:29    [22110706]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
svnvlad
Member

Откуда:
Сообщений: 2170
Нужно ли для запросов с большим количеством записей делать лимитные запросы (Limit, Offset) с листалкой или FireDAC сам управляет памятью?
У меня сложилась традиция, когда работаю с большой таблицей в несколько тысяч записей, делаю запрос с limit и offset, и по нажатию кнопок листалки страницы подставляю номер страницы и limit в 100 записей через параметры в запросе и переоткрываю его с новым набором. Чтобы не забилась память миллионными массивами.
Вопрос: нужно ли это до сих пор делать или новый FireDAC сам управляет такими вещами, и можно смело открывать запрос без limit-а и скроллингом сможет пролистать от начала до конца, подгружая новые и выгружая старые?
9 апр 20, 15:38    [22113623]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9867
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Fetching_Rows_(FireDAC)#Rows_Paging
9 апр 20, 16:41    [22113674]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50776

Кэшировать резалт-сет на локальном диске чтобы не держать его в памяти более, чем
требуется гриду, FireDAC ещё не научился?

Posted via ActualForum NNTP Server 1.5

9 апр 20, 17:16    [22113705]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62789
Блог
Dimitry Sibiryakov
Кэшировать резалт-сет на локальном диске чтобы не держать его в памяти более, чем требуется гриду, FireDAC ещё не научился?

Зачем такое извращение? Он что, без этого слишком быстро работает?
9 апр 20, 17:37    [22113725]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50776

softwarer
Зачем такое извращение?

Чтобы не нарываться на ООМ на больших выборках, например.

Posted via ActualForum NNTP Server 1.5

9 апр 20, 17:46    [22113731]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 62789
Блог
Dimitry Sibiryakov
softwarer
Зачем такое извращение?

Чтобы не нарываться на ООМ на больших выборках, например.

Ты так говоришь, словно этого можно достичь без специальных усилий.
9 апр 20, 17:48    [22113734]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC  [new]
svnvlad
Member

Откуда:
Сообщений: 2170
Dmitry Arefiev
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Fetching_Rows_(FireDAC)#Rows_Paging

Т.е. если я правильно понял, память можно сохранять 2 способами: сделать листалку, где RecsMax соответствует limit, RecsSkip - offset, или второй способ - установить Unidirectional?
Но в первом способе надо делать кнопки переключения страниц, а второй сам будет скроллить и подгружать и (выгружать лишнее) до конца таблицы, но при этом не сможет двигаться в обратную сторону?
9 апр 20, 18:07    [22113751]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 40 41 42 43 44 45 46 [47] 48 49   вперед  Ctrl
Все форумы / Delphi Ответить