![]() |
Probleme mit TStrings/TStringlist beim Freigeben
Ich habe folgenden Code geschrieben:
Delphi-Quellcode:
Problem: Es kann sein (aus unerklärenlichen Gründen), dass er (die Form wird weiterhin angezeigt), dass er in das "if Files <> nil then" springt. Weiter nicht schlimm, aber dort knallst dann:
ShowModal;
if Files <> nil then Files.Free; Files := TStringList.Create;
Code:
Ich weiß leider nicht, wo das Problem sein könnte...
---------------------------
Debugger Exception Notification --------------------------- Project XXXXXXXX.exe raised exception class EAccessViolation with message 'Access violation at address 0044B150 in module 'XXXXXXXX.exe'. Read of address 00000004'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- (Files ist deklariert :D) |
Re: Probleme mit TStrings/TStringlist beim Freigeben
Verwende mal FastMM. Der sollte dir (bei aktiven Debug und TD32-Infos) anzeigen wenn das Objekt schon irgendwo anders freigegeben wurde.
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
Wo steht dieser Code? (Welche Methode, welcher Klasse)
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
Läuft Dein Programm da mehrfach durch und es knallt erst beim 2. Durchlauf ?
Das liegt dann vermutlich daran, daß
Delphi-Quellcode:
Files nicht auf nil setzt.
Files.Free;
Du könntest dann stattdessen
Delphi-Quellcode:
verwenden.
FreeAndNil(Files)
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
Zitat:
Zitat:
Klasse : frmOp Zitat:
Kann es sein (rein theoretisch), dass während des ShowModals ein Fehler auftritt und er aber nur "if Files..." markiert? Ich teste es mal ;) |
Re: Probleme mit TStrings/TStringlist beim Freigeben
Ansonsten wäre etwas mehr Code nicht schlecht.
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
Free funktioniert auch bei nicht instantiierten Objekten. Der Grund liegt auf der Hand.
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
Zitat:
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
versteh ich es falsch oder könnte man nicht mit .Clear das Problem umgehen?
|
Re: Probleme mit TStrings/TStringlist beim Freigeben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:21 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 by Thomas Breitkreuz