AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Freigabe, aller Formulare meiner Anwendung, debuggen
Thema durchsuchen
Ansicht
Themen-Optionen

Freigabe, aller Formulare meiner Anwendung, debuggen

Ein Thema von Alex_ITA01 · begonnen am 20. Aug 2014 · letzter Beitrag vom 21. Aug 2014
 
Benutzerbild von himitsu
himitsu

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

AW: Freigabe, aller Formulare meiner Anwendung, debuggen

  Alt 21. Aug 2014, 08:56
Der Stacktrace nach/bei der Exception sagt dir nichts?
Und eventuell noch ein Self.Name/ClassName oder dergleichen angucken.

Warum werden überhaupt soviele Forms immer automatisch erzeugt?
Werden die denn wirklich alle ständig benötigt?

Man kann natürlich auch die eigenen Forms ableiten, im Vorfahren den Destructor überschreiben und mit einem Try-Except befüllen, welches einem zumindestens die Form nennt, bei welcher es knallt.

Delphi-Quellcode:
type
  TForm = class(Forms.TForm)
    destructor Destroy; override;
  end;

destructor TForm.Destroy;
var
  S: string;
begin
  try
    S := ClassName + ' ' + Name + ': '; // wird ja theoretisch im inherited freigegeben
    inherited;
  except
    on E: Exception do
      ShowMessage(S + E.Message);
  end;
end;
Muß ja nichtmal eine "wirkliche" Ableitung sein, sondern einfach das vor die TMyForm-Deklaration, bzw. in eine eigene Unit und die als Allerletztes ins Uses vor die eigenen Forms-

Man darf natürlich keinen Breakpoint in DestroyComponents setzen,
Kann man schon.
Notfalls deaktiviert man den Haltepunktpunkt einfach und lässt ihn von einem passendem Trigger aktivieren.
Oder man gibt ihm eine Bedingung, damit er nur bei TForms anhält.
Ein Haltepunkt nach Application.Run; (wenn nichts mehr da ist, dann auf das end. danach) und dann manuell durchsteppen (F7/F8/F10).

Dabei natürlich vorher vergessen die RTL/VCL-DebugDCUs abzuschalten, welche ja nur standardmäßig immer an sind.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Aug 2014 um 08:58 Uhr)
  Mit Zitat antworten Zitat
 


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 07:35 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