Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   TRemotable Objekte nach der Nutzung von einem WebService bereinigen (https://www.delphipraxis.net/198479-tremotable-objekte-nach-der-nutzung-von-einem-webservice-bereinigen.html)

Kostas 6. Nov 2018 14:54

TRemotable Objekte nach der Nutzung von einem WebService bereinigen
 
Hallo Zusammen,

ich nutze einen WebService um bestimmte Dateien herunterzuladen.
Alles funktioniert einwandfrei. Nach dem Download möchte ich die Objekte Aufräumen und bekomme die Exception "Ungültige Zeigeroperation"

Es sind genau 35 Files zum Donwloaden.
Das Objekt FileListResponse ist eine Klasse geerbt von TRemotable. Sie beinhaltet eine Array of DataFiles welches ebenfalls eine Klasse geerbt von TRemotable ist. Das Objekt FileListResponse beinhaltet also ein Array mit 35x DataFile Objekte.

Wenn ich versuche die einzelnen DataFiles Objekte des Array per Free freizugeben, knalts. Versuche ich FileListResponse.free knalts ebefalls jeweils der Obengenannten Fehlermeldung.

Wenn ich in der Projektdatei die Zeile einbaue um Speicher Leaks zu entdecken bekomme ich genau 1x FileListResponse und 35x DataFile
Delphi-Quellcode:
ReportMemoryLeaksOnShutdown := DebugHook <> 0;
In diesem Beitrag https://stackoverflow.com/questions/...-services-call
Ist beschrieben dass TRemotable selbst den Speicher aufräumt wenn das Objekt data-context vorhanden ist. Bei ist es jedoch nil zum Zeitpunkt des Löschens.
Auch in der Hilfe zu "Soap.InvokeRegistry.TRemotable" steht dass die Objekte selbst bereinigt werden.


Das gleiche Problem ist auch bei dem Video Tipp #8 Delphi SOAP/WSDL von Mathias Eißing.
Hier geht es um das abrufen einer BLZ. Auch hier bleiben irgend welche Objekte bestehen.
https://www.youtube.com/watch?v=PLOfjr0ocHQ

Hat jemand eine Idee wie man die Objekte eines Web Services sauber entsorgen kann oder wie man den Müllsammler aktiviert?

Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 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