Icon View Incident Report

Serious Serious
Reported By: Jürgen Ewen
Reported On: 10/8/2001
For: Version 3.02 Build 1
# 916 Using OnFilterRecord Causes Invalid Request with Database Server

The following code produced the following error after inserting new record:

DBISAM Engine Error # 11299 An invalid or unknown request was made to the database server at 'comlp'

procedure TForm1.KopfTabAfterScroll(DataSet: TDataSet);
begin
     if KopfTabSondertext.blobsize > 0   then
        Button1.Font.Color := clRed
     else
        Button1.Font.Color := clWindowText;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
        dbCom.connected:=True;
        KopfTab.Open;
        DetTab.Open;
end;

procedure TForm1.KopfTabFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
     if Kopftabauftragstyp.value = 'W' then
     begin
        Accept:=False;
        exit;
     end;

     Accept:=true;
end;

procedure TForm1.KopfTabNewRecord(DataSet: TDataSet);
var Monat, Jahr, Tag: Word;
    sMonat,stag: String;
    Present: TDateTime;
begin
     mAuTyp:=#0;
     KopfTabErstellDatum.Value:=Date;
     KopfTabEmail.Value:=False;
     NumTab.Open;
     NumTab.Edit;
     NumTabAtNr.Value:=NumTabAtNr.Value + 1;
     NumTabKoLfd.Value:=NumTabKoLfd.Value + 1;
     KopfTabAuftragsnummer.Value:=NumTabAtNr.Value;
     KopfTabLfdNr.Value:=NumTabKoLfd.Value;
     NumTab.Post;
     NumTab.FlushBuffers;
     KopfTabLiefDat.Value:=Now;
     KopfTabErstellDatum.Value :=Date;
     KopfTabLsgedruckt.Value:=False;
     KopfTabRgGedruckt.Value:=False;
     KopfTabFrGedruckt.Value:=False;
     KopfTabAdrGedruckt.Value:=False;
     KopfTabWgGedruckt.Value:=False;
     KopfTabVersand.Value:=5;
     KopfTabAuftragsTyp.Value:=mAuTyp;
     KopfTabExNrWeg.Value:=True;
     KopfTabRgNrDrucken.Value:=TRue;
     KopfTabOp.Value:=True;
     Present:= Now;
     DecodeDate(Present, Jahr, Monat, Tag);
     sTag:=IntToStr(Tag);
     sMonat:=IntToStr(Monat);
     if Tag < 10 then
        sTag:='0'+sTag;
     if Monat < 10 then
        sMonat:='0'+sMonat;
     KopfTabKdAufNr.Value:=sTag+'.'+sMonat+'.'+IntToStr(Jahr);
     KopfTabAufAbRe.Value:=True;
     KopfTabFullRe.Value:=True;
     KopfTabBestandRe.Value:=True;
     KopfTabEUms.Value:=False;
     KopfTabUmsDat:=nil;
     KopfTabProvRe.Value:=True;
     if kopftab.Active then
        kopftab.FlushBuffers;
end;

procedure TForm1.KopfTabBeforeScroll(DataSet: TDataSet);
var Merk: integer;
begin
     Merk:=KopfTabLfdNr.Value;
     qSum.ParamByName('pKopfNr').Value:=Merk;
     qSum.Prepare;
     qSum.Open;
     rgKopf.Open;
     rgKopf.Locate('KdNr;LfdNr',vararrayof([KopfTabKdnr.Value,Merk]),[]);
     rgKopf.Edit;
     rgKopfEkWert.Value:=qSumEksumme.value;
     rgKopfVkWert.Value:=qSumvkSumme.Value;
     rgKopfLvkWert.VAlue:=qSumlvksumme.Value;
     rgKopfGesamtColli.Value:=qSumColliSumme.Value;
     rgKopfGesamtGewicht.Value:=qsumGewichtsumme.Value;
     rgKopf.Post;
     qsum.close;
     rgkopf.close;
end;



Comments Comments
The problem was with the OnFilterRecord callback interfering with the BlobSize call in the AfterScroll event handler.


Resolution Resolution
Fixed Problem on 10/10/2001 in version 3.03 build 1
Image