Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как побороть PgDAC - Widememo? / 11 сообщений из 11, страница 1 из 1
01.03.2021, 16:50
    #40049613
Cola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Использую PgDAC 6.1 - запросы большие, в инструментах разработки Valentina Studio, PgAdmin, PostgreSQL Maestro и в других - все адекватно, вижу результаты запросов длинны строк не превышают 130 символов. В приложении с PgDAC - Widememo.
При попытке поменять тип данных поля - ошибки...
Скрин: https://postimg.cc/1VNb5dnW
Всем за ранее спасибо!
...
Рейтинг: 0 / 0
01.03.2021, 16:55
    #40049617
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
TField.OnGetText
...
Рейтинг: 0 / 0
01.03.2021, 17:03
    #40049623
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Cola,

Это потому что TDBGrid вместо "нормального" используется. Он всегда этой ерундой с Memo / CLOB / Text - полями страдает.

1) либо как посоветовал _Vasilisk_ постом выше: повесьте обработчик на OnGetText поля и меняйте в нем текст на нормальный
Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.PgQuery1ThisFieldGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
   Text := Sender.AsString;
end;



2) либо переходите на грид с нормальной поддержкой Memo - полей
...
Рейтинг: 0 / 0
01.03.2021, 17:04
    #40049624
Cola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
_Vasilisk_
TField.OnGetText

а это куда? нет такого свойства.
Как это использовать?
...
Рейтинг: 0 / 0
01.03.2021, 17:07
    #40049629
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TForm1.GetWideMemo(ASender: TField; var AText: string; ADisplayText: Boolean);
begin
  if not ASender.IsNull then
    AText := ASender.AsString
  else
    AText := '<NULL>';
end;

procedure TForm1.pgQuery1AfterOpen(ADataSet: TDataSet);
begin
  ADataSet.FieldByName('Type').OnGetText := GetWideMemo;
  ADataSet.FieldByName('name_stat').OnGetText := GetWideMemo;
  ADataSet.FieldByName('Name_project').OnGetText := GetWideMemo;
end;
...
Рейтинг: 0 / 0
01.03.2021, 17:07
    #40049630
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Cola,
...
Рейтинг: 0 / 0
01.03.2021, 17:08
    #40049632
Cola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Cola,

разобралась. СПАСИБО ВСЕМ!!!!!!
...
Рейтинг: 0 / 0
01.03.2021, 17:08
    #40049633
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Кроик Семён,

Персистентные поля - зло!
...
Рейтинг: 0 / 0
01.03.2021, 17:10
    #40049636
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
01.03.2021 17:08, _Vasilisk_ пишет:
> Персистентные поля - зло!

та шо вы такое гаварите?! ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.03.2021, 17:12
    #40049638
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
Мимопроходящий,

Правда, зло. Особенно когда меняшь версию сервера базы или делаешь апдейт библиотеки компонент доступа, может внезапно поменяться тип поля.
Например, в Oracle nvl(IntField, 0) может выдавать TFloatField на 9.2 сервере и TIntegerField на 12-ом. И соответственно приложение начинает получать эксепшены при открытии датасетов
...
Рейтинг: 0 / 0
01.03.2021, 17:19
    #40049641
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как побороть PgDAC - Widememo?
01.03.2021 17:12, Кроик Семён пишет:
> Правда, зло.

не надо этого юношеского максимализма.
чай не юноши уже давно, оба-два.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как побороть PgDAC - Widememo? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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