Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Problem mit Speicherfreigabe bei dynamischen Array als function-Übergabe

  Alt 28. Okt 2012, 15:48
Zitat:
Delphi-Quellcode:
        pAdapterAddresses := pAdapterAddresses.Next;
      end;

  finally
    FreeMem(pAdapterAddresses);
Ich sagte doch, daß du dem FreeMem den Wert/Variable von GetMem geben muß. (nicht das NIL, welches nach dem letzen .Next rauskommt)
Und bei pAdapterList isses das Selbe.

Aber überschlagen ist bei diesen 2 größere Speicherblöcken wohl etwas übertrieben.
Ich kann dir gerade nicht folgen sorry!

Der Speicher wird ja angefordert:
Delphi-Quellcode:
  //Speicher anfordern
  pAdapterList := AllocMem(LenAdapter_List);
  pAdapterAddresses := AllocMem(LenAdapter_Address);
und der Wert wird über FreeMem wieder freigegeben:
Delphi-Quellcode:
  finally
    //
    FreeMem(pAdapterList);
    FreeMem(pAdapterAddresses);
  end;
Oder meinst du ich muss mir den Originalwert von pAdapterList und pAdapterAddresses speichern um diese dann dem FreeMem zu übergeben?
(was jetzt Sinn machen würde)

[edit]
Also wenn ich mir den Originalwert speichere und diesen dann freigebe, dann gibt FreeMem Ruhe! - Danke für den Tip!!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (28. Okt 2012 um 15:51 Uhr)
  Mit Zitat antworten Zitat