Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

Filtered по второму разу глючит   Найти похожие ветки 

 
GIL ©   (2003-11-06 11:05) [0]

Помогите, в первый раз когда фильтруется, все нормально, но в следующие разы все начинает глючить, при возникновении ошибки посмотрел на дбгрид и ужаснулся: все строковые параметры - одинаковые крякозябры, либо исчезают, дата иногда превращается в что-то типа девять тыщь какой-то год. вылезают две ошибки: "0.0" is not a valid timestamp и "-834195380.0" is not a valid timestamp
код программы:
procedure TForm1.Button1Click(Sender: TObject);
begin
Button2.Click;
QR1.Preview;
Main_T.Filtered:=False;
end;

procedure TForm1.Main_TFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var y,d,m,m1,d1,dd,mm:word;
begin
Accept:=False;
if not (Main_TBirth.Value = null) then
begin
decodedate(da,y,m,d);
decodedate(lda,y,m1,d1);
decodedate(Main_TBirth.Value,y,mm,dd);
if (dd>=d1)and(dd<=d)and(mm>=m1)and(mm<=m) then Accept:=True;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
with Main_T do
begin
SetRangeStart;
Main_TID_Birth.Value:=i;
SetRangeEnd;
Main_TID_Birth.Value:=j;
ApplyRange;
Filtered:=True;
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
f: file of TDate;
fbefore: file of Word;
y: Word;
begin
assignfile(f,"Last.data");
rewrite(f);
write(f,lda);
closefile(f);

y:=SpinEdit1.Value;
assignfile(fbefore,"Day.before");
rewrite(fbefore);
write(fbefore,y);
closefile(fbefore);
end;


 
bobtubob ©   (2003-11-06 11:08) [1]

Протрасируй, и выясни значение фильтра на втором ходу


 
GIL ©   (2003-11-06 11:08) [2]

Избавился только так:
procedure TForm1.Button1Click(Sender: TObject);
begin
Button2.Click;
QR1.Preview;
Main_T.Filtered:=False;
Main_T.Active:=False;
Main_T.Active:=True;
end;
но хотелось бы знать истинную причину глюка.


 
GIL ©   (2003-11-06 11:15) [3]

i и j во время работы программы не меняются, бд в RO i и j охватывают весь диапазон записей


 
Term ©   (2003-11-06 11:26) [4]


> begin
> with Main_T do
> begin
> SetRangeStart;
> Main_TID_Birth.Value:=i;
> SetRangeEnd;
> Main_TID_Birth.Value:=j;
> ApplyRange;
> Filtered:=True;
> end

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


 
GIL ©   (2003-11-06 11:27) [5]

при детальной трассировке в хинте на Main_TBirth.Value выдает Delphi exception EconvertError at $9AAF981


 
GIL ©   (2003-11-06 11:28) [6]

поля индексированы, т.к. по ним же идет связь, компоненты TTable


 
GIL ©   (2003-11-06 11:33) [7]

и еще прикол, если дбгрид сделать невидимым, то уже ничто не помогает!!



Страницы: 1 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-89678
sergey123
2003-11-06 14:33
2003.11.27
Как сделать, чтобы в гриде для каждой строки задавать тип поля?


1-89814
TUser
2003-11-17 10:34
2003.11.27
FullScreen


3-89754
Liavik
2003-11-08 00:30
2003.11.27
Отчет


3-89713
Disruptor
2003-11-10 08:32
2003.11.27
Выполнить скрипт (например 500 инсертов) одним разом.


14-90064
Гость
2003-11-05 16:17
2003.11.27
Как определить по номеру, какой это процессор