AGB  ·  Datenschutz  ·  Impressum  







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

Objekte in der richtigen Reihenfolge freigeben

Ein Thema von Rainer Wolff · begonnen am 5. Mai 2011 · letzter Beitrag vom 5. Mai 2011
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Objekte in der richtigen Reihenfolge freigeben

  Alt 5. Mai 2011, 09:23
Du könntest im finalization die Instanz auf nil setzen und in deiner Logfunktion prüfen ob die Instanz <> nil ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Objekte in der richtigen Reihenfolge freigeben

  Alt 5. Mai 2011, 10:01
Du könntest im finalization die Instanz auf nil setzen und in deiner Logfunktion prüfen ob die Instanz <> nil ist.
Hab ich temporär so schon implementiert, aber: Dann ist zwar die Zugriffsverletzung weg, aber es werden halt auch keine Meldungen mehr geloggt.

@Himitsu: Innerhalb einer einzelnen Unit wäre das Problem wohl so zu lösen, aber die Logfunktion ist ja so breit über viele verschiedene Units gestreut, dass die Kontrolle auf diesem Weg schwierig wird.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#3

AW: Objekte in der richtigen Reihenfolge freigeben

  Alt 5. Mai 2011, 10:13
Du könntest im finalization die Instanz auf nil setzen und in deiner Logfunktion prüfen ob die Instanz <> nil ist.
Hab ich temporär so schon implementiert, aber: Dann ist zwar die Zugriffsverletzung weg, aber es werden halt auch keine Meldungen mehr geloggt.
Tja, wenn das Logging-Objekt freigegeben ist, dann kann man natürlich nix mehr loggen.

Als eine Alternative bliebe noch eine statisch eingebundene DLL, in welcher das Logging abläuft.
Diese DLL wird auf jedenfall erst nach allen deinen Unis entladen.

Oder du machst es so, daß, sobald das Logging schon freigegeben wurde, dieses nochmal kurz erstellt, der Eintrag eingetragen und dann gleich wieder freigegeben wird.
Ein Therapeut entspricht 1024 Gigapeut.
  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 10:37 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