Speicherfehler?

Hier werden Fragen zur Programmierung des ppsGrids...
Post Reply
calisonline
Posts: 1
Joined: 30.04.2007, 16:26

Speicherfehler?

Post by calisonline »

Hi,

ich habe festgestellt dass das ppsGrid im laufe der Zeit immer mehr Speicher belegt, also je länger das Programm läuft, desto mehr Speicher nimmt es in anspruch.
Jetzt wollte ich mal nachfragen, ob dies ein noch nicht bekanntes Problem ist, oder ob ich es falsch benutze.

Hier mal der code welchen ich benutze bevor/während ich das Grid fülle:

Erstmal wird es komplett geleert:

Code: Select all

grid1.BeginUpdate()
grid1.Rows.Clear()
grid1.Cols.Clear()
Danach läuft eine "While"-Schleife und führt für jeden Datensatz den folgenden Code aus:

Code: Select all

grid1.Addrows(1,grid1.rows.Count)
grid1.Cells(0,grid1.rows.Count -1 ).Value = sqlReader.reader.GetString(0)
grid1.Cells(1,grid1.rows.Count -1 ).Value = sqlReader.reader.GetString(1)
grid1.Cells(3,grid1.rows.Count -1 ).Value = sqlReader.reader.GetString(2)
grid1.Cells(2,grid1.rows.Count -1 ).Value = sqlReader.reader.GetString(3)
grid1.Cells(4,grid1.rows.Count -1 ).Value = sqlReader.reader.GetString(4)
Und am dann:

Code: Select all

grid1.EndUpdate()
Am anfang wird ja jedesmall mit "clear" alles wieder geleert, aber trotzdem nimmt der Speicherverbrauch pro Abfrage um 3-4MB zu, was einfach zuviel ist. Ich hoffe ihr könnt mir weiter helfen, ich möchte nämlich nicht auf fas Grid verzichten, dafür ist es zu gut :D

mfg
Calis[/quote]

torsten
Site Admin
Posts: 92
Joined: 02.05.2006, 09:04
Spamschutz: 10
Location: Bremen

Post by torsten »

Hallo Calis

Tut mir leid, wenn ich mich jetzt erst melde: Bin umgezogen und zur Zeit ohne Internet-Anschluß, dazu zwei Wochen Urlaub...
ber trotzdem nimmt der Speicherverbrauch pro Abfrage um 3-4MB zu, was einfach zuviel ist. Ich hoffe ihr könnt mir weiter helfen
Mmmhh...
Eigentlich kann es nur "Speicherverbrauch" geben, wenn "unmanaged" Resourcen gebraucht werden. Und das geschieht beim ppsGrid nur im Bereich der "Embedded Controls".

Das heißt:
Gibst du den DataReader wieder frei (Disposed) ?
Wie kommst du auf 3-4 MB? (Der Taskmanager ist für die Feststellung des Speicherverbrauchs unter .Net völlig ungeeignet)
ich möchte nämlich nicht auf fas Grid verzichten, dafür ist es zu gut
Danke für das Lob :-)

Gruß Torsten

Post Reply