Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi TMemoryStream u. Virtueller Speicher (https://www.delphipraxis.net/10743-tmemorystream-u-virtueller-speicher.html)

DataCool 24. Okt 2003 11:32


TMemoryStream u. Virtueller Speicher
 
Hi Leute,

folgendes Problem :

1. Ich mit dem IdTcpClient der Indy-Komponenten einen Live-Daten-Stream von einem Server
2. Der Ablauf besteht aus zwei Schritten:
Schritt 1: Verbindung herstellen und Solange verbindung besteht den nächsten Datenblock ziehen(mit Schritt 2)
Schritt 2: TMemoryStream erzeugen, Daten in MemoryStream lesen, Stream in Format umwandeln und darstellen, MemoryStream wieder freigeben

Läuft alles wunderbar, jetzt habe ich allerdings von ein paar User gehört das nach längerer Zeit(10-20min.), das Streaming abbricht mit der Fehlermeldung, nicht gnügend virtueller Speicher !
Warum das ? Ich gebe den MemoryStream definitiv immer wieder frei und wenn ich mir im TaskManager die Speicherausnutzung meines Progg anschaue bleibt diese immer gleich bzw. erhöht sich um einen MemoryStream und verringert sich um einen Memory-Stream !

Gibt es da ein bekanntes Problem mit dem Handling ? Das der Speicher z.B. freigegeben wird, aber von WinDoof noch als benutzt markiert ist ?

Ich denke mal, ich sollte sowieso den MemoryStream nur einmal am Anfang erzeugen und immer den gleichen benutzen und ihn danach clearen, oder was meint Ihr ?

Gruß Data

Kamil 24. Okt 2003 13:09

Re: TMemoryStream u. Virtueller Speicher
 
Hi,
da wird wahrscheinlich irgendwas nicht freigegeben(muss nicht unbedigt der Stream sein). Teste mal dein Programm mit MemProof. Da findest du die stellen, an denen Speicher/Objekte/andere Resourcen nicht freigegeben wurden.

Ich mache sowas immer mit einem einzigen MemoryStream, der mit stream.size:=0 geleert wird nachdem die Daten verarbeitet wurden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz