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)