Entwickler-Ecke

Datenbanken - BDE: Speicherproblem,zu viele Dateien z.B. _QSQ31.db?


jjturbo - Mo 02.11.09 16:31
Titel: BDE: Speicherproblem,zu viele Dateien z.B. _QSQ31.db?
Moin Forum,

bei einer BDE-Anwendung werden nach und nach immer mehr Dateien in Session.PrivateDir abgelegt(z.B. _QSQ31.db). Sollten diese nicht eigentlich automatisch wieder verschwinden?

Gruß Oliver


jjturbo - Mo 02.11.09 17:27

Ich beobachte die Anwendung gerade im Task-Manager, an folgender Stelle wächst der Speicherbedarf jedes Mal um etwa 100 Byte:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
function MachIrgendwas:Boolean;
var MyQuery  :TQuery;
    SQLText  :String;
    StabNr   :Integer;
    PFT      :String;
    s        :String;
begin

  MyQuery := TQuery.Create(nil);

  with MyQuery do begin
    DataSource   := HauptForm.DataSource1;
    DatabaseName := DirectoryData;
  end;


  SQLText := 'SELECT * FROM teiledaten WHERE stabnr=' + IntToStr(StabNr) + ' AND fertig=' + QuotedStr(s)
            +' ORDER BY UnterStabNr,UP';
  MyQuery.SQL.SetText(PChar(SQLText));
  MyQuery.ExecSQL;


  with HauptForm.BatchMove1 do begin
    Source      := MyQuery;
    Destination := StabDatenForm.StabDatenTable;
    RecordCount := 0;
    Mode        := batAppend;
    Execute;//  <-- Alleine hier jedes Mal um 60 Byte...
  end;


  MyQuery := nil;
  MyQuery.Free;
  Result := HauptForm.BatchMove1.MovedCount > 0;
end;


Was ist denn an der Stelle batchmove.execute, daß dort der Speicherbedarf um etwa 60 Byte wächst?