AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interface und Freigabe

Ein Thema von hanspeter · begonnen am 14. Apr 2008 · letzter Beitrag vom 14. Apr 2008
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Interface und Freigabe

  Alt 14. Apr 2008, 10:51
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:
finaliziation
EHlpErrorHandler := nil;
Interessant ist. Verwende ich keine Komponente, sondern erzeuge ich in Oncreate den Manager selbst
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
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Interface und Freigabe

  Alt 14. Apr 2008, 13:41
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
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Interface und Freigabe

  Alt 14. Apr 2008, 13:49
Zitat von sirius:
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
Ich auch nicht.

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz