Einzelnen Beitrag anzeigen

bjoern

Registriert seit: 27. Feb 2003
Ort: Lägerdorf
24 Beiträge
 
Delphi 7 Professional
 
#4

Re: Pointer auf das result einer Funktion die aus einer Dll

  Alt 1. Mär 2007, 11:57
Hi,

also die Definition im Interface ist wie folgt:

Aufruf:
    function GetValue(Group: Integer; Element: Integer; DataType: DX_DATA_TYPE): OleVariant; safecall; Ich habe ein Programm wo in einer Schleife 500 mal diese Funktion aufgerufen wird.
Code:

Delphi-Quellcode:
    for j:=0 to 499 do
    begin
      new(ptr);
      ptr^ := GetValue($0008,$0018,TYPE_STRING);
      Dispose(ptr);
    end;
Festgestellt habe ich es zu erst mit dem Taskmanager von Windows, dass der Prozess immer mehr Speicher belegt.

Danach habe ich mir mit MemProof das auch noch mal genauer verfolgt.

Hab aber keine Idee was mein fehler ist.

Achja hab extra ein Testprojekt gemacht. Es wird nur initalisiert, die Schleife durchlaufen und alles wieder freigegeben.
Und genau in dieser Schleife Steigt der Speicher verbrauch und wird nicht freigegeben.

Gruß
Es gibt für alles eine Lösung sie muß nur gefunden werden
  Mit Zitat antworten Zitat