Autor Thema: Memory Leaks in Verbindung mit ADO-ActiveX-Objekten  (Gelesen 1381 mal)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Hallo,

ich habe ein Problem mit einer ADO-Datenanbindung, und zwar habe ich ein memory-leak

Um auf eine externe Datenquelle zuzugreifen verwende ich ADO um einen SQL-Befehl abzusetzen (LS:DO ist mir zu langsam)
Hierzu gibt es im adoResultset die Methode getRows, welche mir ein 2-D Array mit den Datensätzen aus der SQL-Tabelle liefert:
http://msdn.microsoft.com/en-us/library/ms675120%28VS.85%29.aspx

Ich lese mir dazu immer 32 Zeilen in so ein Array mittels
Code
bufferAr = adoResultSet.GetRows(32)
ein und verarbeite dies dann. Nun habe ich das Problem, dass der Speicher dieses Arrays (das ja "aus einer anderen Welt" stammt) nicht mehr freigegeben wird. D.h. der Notes-Prozess braucht nach jedem Durchlauf mehr Ram. Dabei ist mir aufgefallen, dass hier scheinbar das Kopieren des Arrays "schuld" ist.

ein
Code
Call adoResultSet.GetRows(32)
ohne Verarbeitung der Rückgabe verursacht nämlich kein Speicherleck

Weise ich die Rückgabe irgendwas zu, so dass ich damit weiterarbeiten könnte, geht der Speicher verloren
ein anschließendes Delete/Erase/ =null/redim auf das BufferAr bringt NICHTS  :'(

Mein momentaner WürgAround ist , dass ich anstatt getRows die Methode getString verwende, welche mir einen String mit Trennzeichen der aktuellen Zeile liefert. Den String splitte ich dann an den Trennzeichen und baue mir umständlich ein "BufferAr" wie es auch GetRows liefern würde.

Evtl hat noch wer einen Tipp für mich.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Memory Leaks in Verbindung mit ADO-ActiveX-Objekten
« Antwort #1 am: 28.08.09 - 16:24:34 »
so, hab jetzt mal einen PMR bei IBM aufgemacht.
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz