powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как побороть PgDAC - Widememo?
11 сообщений из 11, страница 1 из 1
Как побороть PgDAC - Widememo?
    #40049613
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую PgDAC 6.1 - запросы большие, в инструментах разработки Valentina Studio, PgAdmin, PostgreSQL Maestro и в других - все адекватно, вижу результаты запросов длинны строк не превышают 130 символов. В приложении с PgDAC - Widememo.
При попытке поменять тип данных поля - ошибки...
Скрин: https://postimg.cc/1VNb5dnW
Всем за ранее спасибо!
...
Рейтинг: 0 / 0
Как побороть PgDAC - Widememo?
    #40049617
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TField.OnGetText
...
Рейтинг: 0 / 0
Как побороть PgDAC - Widememo?
    #40049623
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как побороть PgDAC - Widememo?
    #40049624
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
TField.OnGetText

а это куда? нет такого свойства.
Как это использовать?
...
Рейтинг: 0 / 0
Как побороть PgDAC - Widememo?
    #40049629
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Как побороть PgDAC - Widememo?
    #40049630
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola,
...
Рейтинг: 0 / 0
Как побороть PgDAC - Widememo?
    #40049632
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola,

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

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

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

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

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


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