![]() |
Interface und Freigabe
Hallo,
ich habe ein Problem im Zusammenhang mit Interfaces, wo ich noch nicht so richtig weis, wo ich suchen soll. Ich binde Module über das Hydra Plugin ein. Den Modulemanager, welcher zentral den Zugriff verwaltet habe ich als Komponente (nicht visuell) auf einem DataModule gesetzt. Es funktioniert auch alles wie gewünscht. Beim Beenden des Programms kommt eine Speicherschutzverletzung. Das passiert beim Zuweisen von nil zu einem Interface tief im System
Delphi-Quellcode:
Interessant ist. Verwende ich keine Komponente, sondern erzeuge ich in Oncreate den Manager selbst
finaliziation
EHlpErrorHandler := nil; Manager := Modulemanager.Create(nil); und entsorge diesem im onDataDestroy des Datamodule mit Freeandnil(Manager), dann tritt der Fehler nicht auf. Da es wohl ein Timingproblem ist, wo liegt der Unterschied? Gruß Peter |
Re: Interface und Freigabe
Ist dein Interface ein Feld eines Objektes, so wird dessen Zähler doch beim Zerstören des Objektes automatisch dekrementiert.
Aber ich sehe nicht durch, was EHlErrorHandle mit Manager zu tun hat :gruebel: |
Re: Interface und Freigabe
Zitat:
An dieser Stelle tritt der Fehler auf. Die Unit gehört zu dem Managertool. Ist ein Kaufteil (Hydra 3.0) Rätselhaft ist mir das der Fehler nur beim "automatischen Aufräumen" der Komponenten erfolgt, nicht jedoch beim manuellen destroy. Ich will heute abend mal probieren, ob der Fehler auch auftritt wenn ich statt einen Datamodule eine Form als Container verwende. Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 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