![]() |
Datenbank: Clientdataset • Version: Seattle 10 • Zugriff über: cds
ClientDataset Memoryleak
Mir sind die Clientdataset Bugs in Delphi 2010 bekannt aber auch in Delphi Seattle 10 gibt es Memoryleaks bei Clientdatasets.
Ich habe LogChanges := False eingestellt und wenn ich einen Datensatz lösche und wieder hinzufüge steigt der Speicher. Wenn ich aber den Datensatz nur editiere bleibt der Speicher gleich. Das kann man sehr einfach in einen Timer testen und im Windows Task Manager nachschauen. Mit Logchanges := True und MergeChangeLog das selbe Problem! |
AW: ClientDataset Memoryleak
Das ist jetzt nicht unbedingt ein Memoryleak im eigentlichen Sinne. Der Taskmanager weiß nämlich nichts über den intern vom Delphi Speichermanager verfügbaren Speicher. Kommt denn bei aktiviertem
Delphi-Quellcode:
eine entsprechende Meldung?
ReportMemoryLeaksOnShutdown := true;
|
AW: ClientDataset Memoryleak
Liste der Anhänge anzeigen (Anzahl: 1)
Diesen Befehl konnte ich noch gar nicht.
Edit: Auch ohne verursachten Memory leak kommt der gleiche Auszug. Der Speicher steigt aber kontinuierlich nach oben! Erst mit EmptyDataset ist der Speicher wieder frei. |
AW: ClientDataset Memoryleak
Zitat:
Zitat:
Ach ja: welche Delphi-Version? |
AW: ClientDataset Memoryleak
Die Delphi-Version steht im ersten Posting: Seattle.
Ich habe ein ähnliches Problem auf ![]() Allerdings bin ich mir nicht sicher, ob es vielleicht auch am internen FastMM liegt, der mit der mit irgendeiner Neuerung nicht zurecht kommt. Verwendet man den FastMM von SourceForge mit FullDebugMode, dann kommt genau keine Meldung mehr. |
AW: ClientDataset Memoryleak
Zitat:
|
AW: ClientDataset Memoryleak
Hallo,
hast du beim externen FastMM4 auch die Inc-Datei entsprechend angepasst? Heiko |
AW: ClientDataset Memoryleak
Ich würde behaupten: Ja.
|
AW: ClientDataset Memoryleak
Zitat:
(*) ...konkret debugge ich nicht mehr sondern habe das Problem eingegrenzt und, auch in Delphi Seattle, ist da ein böser Hund begraben der schon bei einer HelloWorld-Datasnap-Anwendung auftritt. |
AW: ClientDataset Memoryleak
Bei mir wird auch der Speicher freigegeben wenn ich das Programm beende.
Auch mit cds.EmptyDataset wird der Speicher freigegegeben, nur eben mit cds.Delete nicht. Ob ich eben cds.First while not cds.EOF cds.Delete oder eben cds.EmptyDataset schreibe, sollte bei Logchanges = False, das selbe sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 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