![]() |
Re: FreeAndNil() auf Array anwenden?
Zitat:
Wenn du dann deinen Rat gibst, ist der beste Weg afaik mit SetLength auf 0 setzen, wie inherited bereits schrieb. |
Re: FreeAndNil() auf Array anwenden?
Ja, habe ich bereits getan. ;)
Übrigens interessant zu sehen was Delphi so alles zulässt... :mrgreen: |
Re: FreeAndNil() auf Array anwenden?
Zitat:
Folgendes Programm düfte beispielsweise Douglas-Adams-Fans erfreuen:
Delphi-Quellcode:
Wobei durch Zufall auch hier nichts passieren kann, dann p^ einfach auf 4 setzen. Damit ist jedes Gelingen ausgeschlossen ;) .
program Project1;
{$APPTYPE CONSOLE} uses SysUtils; var p: PInteger; // Je nach Geschmack auch ein TDynIntegerArray möglich begin New(p); p^ := 1111638598; try FreeAndNil(p); except Readln; end; Dispose(p); end. [add] Oh mein Gott, macht der rote Kasten heute Blau :shock: ? @Elivs: Ja wie, gibst du Objekte etwa nicht wie ich frei :mrgreen: ?
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE} uses SysUtils, Types; type TDependencyObject = class // abhängig von meiner Grausamkeit public destructor Destroy; override; end; var o: TDependencyObject; a: TIntegerDynArray; { TDependencyObject } destructor TDependencyObject.Destroy; begin Writeln('Hi, I''m your highly abused destructor!'); inherited; end; begin o := TDependencyObject.Create; SetLength(a, 2); a[0] := PInteger(o)^; a[1] := 42; FreeAndNil(a); Readln; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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-2025 by Thomas Breitkreuz