![]() |
Object.Free
Hallo,
abhängig von einem Suchbegriff wird ein Objekt in einer Liste gespeichert.
Delphi-Quellcode:
Sowohl TIDEDrive als auch TCDROMDrive sind beide von TObject abgeleitet.
if POS('DISK', DStr) <> 0 then Result := TIDEDrive.Create(DeviceID)
else if POS('CDROM', DStr) <> 0 then Result := TCDROMDrive.Create(DeviceID) else Result := nil; Result wird, wie geschrieben in eine Liste vom Typ TList gespeichert; Beim Freigeben kommt es jedoch zur ZV, da ich nicht weiss hinter welchen Eintrag sich welches Objekt verbirgt.
Delphi-Quellcode:
Auch der is-operator hilft nicht weiter. Muss ich die Zuweisung anders gestallten, so in der Art
destructor TxxxXXXXX.Destroy;
var I : Integer; begin for I := FList.Count -1 downto 0 do begin TObject(FList.Items[I]^).Free; FList.Delete(I); end; FList.Free; inherited Destroy; end; Result := Ptr(TIDEDrive.Create(DeviceID)) ??? Bin für jede Antwort dankbar. |
Re: Object.Free
Hi,
verwende doch die Klasse ![]() ![]() mfG mirgae228 |
Re: Object.Free
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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