Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.10.2012, 17:34
Сергей77 Сергей77 вне форума
Прохожий
 
Регистрация: 14.05.2012
Сообщения: 31
Репутация: 10
По умолчанию Проблема с OnCalcFields в DBF

День добрый.

Delphi XE
БД: DBF

Вот такая проблема:
- есть простой запрос с тремя полями: 2 из которых (A и B) обычные текстовые данные, а одно (С) - вычисляемое (на основе двух полей)
- так вот: если я использую CalcFields, то вычисляемое поле НЕ ВЫЧИСЛЯЕТСЯ - всегда возвращается пустая строка

Привожу код
Код:
procedure TDM.Q1CalcFields(DataSet: TDataSet);
begin
  С.AsString := A.AsString + B.AsString;
end;

А и B - простые строки и данные в таблице есть

но что самое интересное - не работает и такой код
Код:
procedure TDM.Q1CalcFields(DataSet: TDataSet);
begin
  С.AsString := 'QQQQQQQQQQQQQQQQQq';
  Showmessage(С.AsString); //все равно возвращает ''
end;
Ответить с цитированием
  #2  
Старый 25.10.2012, 09:07
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

в Delphi 7 такое смоделировал создав пустой обработчик события OnGetText у fkCalculated. решилось:
Код:
procedure TForm1.Table1CalcGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  Text:=Sender.AsString;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 25.10.2012, 11:22
Сергей77 Сергей77 вне форума
Прохожий
 
Регистрация: 14.05.2012
Сообщения: 31
Репутация: 10
По умолчанию

Попробовал у себя (в XE).
Не помогло. Все также возвращает ''
Ответить с цитированием
  #4  
Старый 25.10.2012, 12:54
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

залей минимальный проект воспроизводящий ошибку
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 25.10.2012, 13:15
Сергей77 Сергей77 вне форума
Прохожий
 
Регистрация: 14.05.2012
Сообщения: 31
Репутация: 10
По умолчанию

Залил кокроткий проект
Вложения
Тип файла: rar test.rar (717.0 Кбайт, 2 просмотров)
Ответить с цитированием
  #6  
Старый 25.10.2012, 14:16
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

на Delphi 7 все нормально.
а если без вычисляемого поля делать:
Код HTML:
SQL.Add('SELECT classes.*, classes.b+"-"+classes.a ba FROM classes');
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:13.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025