Текущий архив: 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.45 MB
Время: 0.009 c