![]() |
Re: Schutzverletzung beim Freigeben einer TStringList
Nein.
Free ist eine Procedure (keine Class Procedure, sorry) von TObject, und die ist so definiert:
Delphi-Quellcode:
Insofern stimmt Deine Aussage natürlich teilweise, weil Free eben den Speicher freigibt. Aber, wenn ich vorher die Objektreferenz auf Nil setze, passiert einfach N-I-X. Der Speicher wird nicht freigegeben, aber es knallt nicht, wie man am Code unschwer erkennen kann.
procedure TObject.Free;
begin if Self <> nil then Destroy; end; |
Re: Schutzverletzung beim Freigeben einer TStringList
Gut, einigen wir uns in der Mitte:
Es knallt vielleicht nicht, aber die Speicherleiche hat man halt trotzdem. :wink: Wobei ich mich frage, wie er die Procedure im Speicher wiederfindet, wenn ich den Zeiger "genilt" habe und es keine class-Procedure ist. :gruebel: |
Re: Schutzverletzung beim Freigeben einer TStringList
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Schutzverletzung beim Freigeben einer TStringList
Das war meine Vermutung. Aber alzaimar sagt ja, dass einfach nichts passiert, also auch keine AV. Damit keine AV kommt, muss er ja den Prozedurcode zumindest im Speicher wiederfinden. Und da frag ich mich halt, wie das funktionieren soll.
|
Re: Schutzverletzung beim Freigeben einer TStringList
Hallo,
Zitat:
Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz