Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

Re: Problem mit Speicher und Handle

  Alt 14. Mär 2008, 10:26
Ich schaue im Taskmanager nach, wie viel Speicher meine Anwendung belegt. Ich weiß, dass dieser das nicht immer unbedingt richtig anzeigt (bestes Beispiel: BDS), aber ich denke, dass es schon eine Richtlinie ist, die einigermaßen passt. Das mit dem Speicher, der nicht an Windows zurückgegeben ist, kenne ich und ist mir klar. Nur dachte ich bisher dass das etwas mit dem Handle-Fehler zu tun hat.

Nun stellt sich mir die Frage, ob nicht AnyDAC einen internen Bug hat oder ich nur etwas falsch mache

Rein für mein Verständis:
Wenn ich ein Object (TMeinObjekt, ist von TObject abgeleitet) erzeuge, dann zeigt ja ein Handle auf die Instanz davon. Wenn ich FreeAndNil() aufrufe wird die Instanz "gelöscht" (also, aus dem Speicher entfernt) und das Handle automatisch freigegeben, oder?
Delphi-Quellcode:
var
  obj : TMeinObjekt;
begin
  // Objekt(e) erzeugen
  obj := TMeinObjekt.Create();

  // Berechnungen, etc.
  obj.doSomething;

  // Objekt freigeben
  FreeAndNil(obj);
end
Oder wo genau wird ein Handle erzeugt bzw. gebraucht? Dass es eine systemweite ID ist für z.B. Anwendungen weiß ich.

Danke schon mal für deine Hilfe, bringst mich immer ein Stück weiter.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat