![]() |
TClientDataSet sehr langsam
Halo,
Ich habe ein TClientDataSet, der mit TDBGrid verbunden ist. Ich habe auch einen Button, mit dem ich ClientDataSet in eine XML Datei speicher. Aber das geht sehr langsam, fur 500 Zeilen dauert es zirka 5 Sekunden. Es geht so:
Delphi-Quellcode:
Es ist noch mehr Code in dieser while schleife, aber auch das ist langsam. Kann Ich dass irgendwie schneller machen?
while not ClientDataSet1.eof do
begin ClientDataSet1.Next; end; Danke |
Re: TClientDataSet sehr langsam
Die Erzeugung einer XML-Datei dauert nunmal ein Weilchen. Ich finde hierfür 5 Sekunden nicht als lang.
|
Re: TClientDataSet sehr langsam
Hallo Simon,
fünf Sekunden für das Schreiben für 500 records? Das müssen schon sehr komplexe Strukturen sein. Allerdings verstehe ich nicht, was das mit deiner Iteration über die Zeile im ClientDataSet zu tun haben soll. Was machst du in dieser Schleife? Als XML-Dokument weggeschrieben werden deine Daten doch mit der Methode ApplyUpdates() von ClientDataSet. Wie groß wird das resultierende XML-Dokument denn? Grüße vom marabu |
Re: TClientDataSet sehr langsam
Hallo,
Ich muss alle records in dieser Schleife uberprufen und dann kann Ich sie speichern mit ApplyUpdates. Aber fur diesen versuch habe Ich dass ales ins Komentare getan. In der Schleife ist nur ClientDataSet1.Next. Vielleicht liegt es darauf, das dieser ClientDataSet mit DBGrid verbunden ist - Ich kann sehen wie sich der Kursor in DBGrid durch Zeilen bewegt. |
Re: TClientDataSet sehr langsam
Du solltest vor dem Eintritt in deine Prüfschleife die Methode DisableControls und anschließend die Methode EnableControls des ClientDataSet aufrufen. Auch solltest du prüfen, ob nicht irgendwelche Ereignis-Routinen an ClientDataSet unnötig aktiv sind, während du durch die Zeilen iterierst.
marabu |
Re: TClientDataSet sehr langsam
DisableControls und am Ende EnableControls - das habe Ich gesucht.
Danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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