AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADOquery nimmt viel RAM-Speicher weg, hilfe!!!!!!!!!!
Thema durchsuchen
Ansicht
Themen-Optionen

ADOquery nimmt viel RAM-Speicher weg, hilfe!!!!!!!!!!

Ein Thema von khalilazzz · begonnen am 4. Apr 2005 · letzter Beitrag vom 28. Feb 2007
Antwort Antwort
berens

Registriert seit: 3. Sep 2004
441 Beiträge
 
Delphi 10.4 Sydney
 
#1

Re: ADOquery nimmt viel RAM-Speicher weg, hilfe!!!!!!!!!!

  Alt 28. Feb 2007, 09:45
In einer Newsgroup ( http://groups.google.ru/group/borlan...796b7e06282e87 ) bin ich auf das folgende Problem gestoßen:

Interessant dabei ist, dass das, was hier hier, als Bugfix für Delphi7 herausgegeben wurde. Komischerweise stand es in meiner AdoDB von BDS2006 wieder genauso drinnen (also erst inherited Destroy, dann die anderen Befehle).

Delphi-Quellcode:
destructor TADOCommand.Destroy;
begin
// we modified like this ==>
  Connection := nil;
  FCommandObject := nil;
  FreeAndNil(FParameters);
// we modified : end

  inherited Destroy;

{ // this is the original source code
Connection := nil;
  FCommandObject := nil;
  FreeAndNil(FParameters);}

end;

destructor TADOQuery.Destroy;
begin
// we modified like this ==>
  FreeAndNil(FSQL);
// we modified : end

  inherited Destroy;
// FreeAndNil(FSQL); // original source code
end;

Der Effekt lässt sich übrigens auch mit einer TAdoTable nachstellen:
Delphi-Quellcode:
  LogToFile('TThumblist.Reload.Start');
  if assigned(Database) then begin
    try
      at := TADOTable.Create(NIL);
      at.Connection := Database;
      at.TableName := 'T_Storage_Thumbs';
      at.CursorType := ctOpenForwardOnly;
      LogToFile('TThumblist.Reload.at.Open');
      at.Open;
      LogToFile('TThumblist.Reload.at.First');
      at.First;

      LogToFile('TThumblist.Reload.at.Close');
      at.Close;
    finally
      FreeAndNil(at);
    end;
  end;
  LogToFile('TThumblist.Reload.Ende');
Zitat:
10:49: TThumblist.Reload.Start [Ram: 488.891]
10:49: TThumblist.Reload.at.Open [Ram: 488.891]
10:49: TThumblist.Reload.at.First [Ram: 461.158]
10:49: TThumblist.Reload.at.Close [Ram: 461.158]
10:49: TThumblist.Reload.Ende [Ram: 475.536] // <-- hier fehlen auch 13 MB Ram
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz