AGB  ·  Datenschutz  ·  Impressum  







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

Speicherzugriffsfehler bei Freigabe vom Frame

Ein Thema von backdraft · begonnen am 26. Apr 2007 · letzter Beitrag vom 3. Mai 2007
 
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Speicherzugriffsfehler bei Freigabe vom Frame

  Alt 26. Apr 2007, 16:27
Zitat von shmia:
Zitat von backdraft:
Mit dem nicht auf nil setzen verstehe ich nicht. Ich habe doch "aFrame := nil;" gemacht. Warum geht das nicht so?
Deine Funktion bekommt den Parameter aFrame: TFrame ja per Value übergeben.
Man müsste schon var aFrame: TFrame schreiben, damit das Nil setzen eine Auswirkung
auf die übergebene Variable hat.

Zum Thema SetFocus:
Wenn das Formular nicht sichtbar ist, dann muss man SetFocus weglassen.

Weitere Vorgehensweise:
Ich würde statt deinen vorhandenen Frames nur einen ganzen einfachen Frame mit einem TEdit und TLabel drauf
in das Projekt einfügen. Keine Events benützen, Konstruktor und Destruktor des Frames nicht überschreiben.
So lässt sich feststellen, ob dass Problem innerhalb eines bestimmten Frames liegt ober ob du grundsätzlich
einen Fehler gemacht hast.
Also ich habe ein paar neue Erkenntnisse, die mich nicht wirklich weiterbringen.

Es sind insgesamt 7 verschiedene Frames. Wenn ich bei diesen 7 Frames den Parent nicht setze funktioniert das Programm fehlerfrei, ausser dass ich das Frame halt nicht sehe.

Bei 3 dieser Frames kann ich den Parent setzen und mit dem neuen FreeAndNil funktioniert auch das freigeben super.

4 der Frames, die sich von den Komponenten nicht sonderlich unterscheiden (es sind alle komponenten von den 4 frames auch irgendwo auf den 3 funktionierenden) klappen nicht, sobald ich den Parent einstelle.

Alle Frames haben den selben Constructor.

Das Beispielframe funktioniert auch (mit dem Edit und so).

Komischerweise ist, wenn ich NUR eins der 4 frames, ohne die anderen 3 mache geht es auch. sobald ich aber ein zweites frame dynamisch erstelle ist ende.

Jetzt der Hammer... Wenn ich den Constructor nicht ändere und Delphi das erstellen / zerstören überlasse (also nicht dynamisch) funktioniert es. Den Parameter, den ich im Constrcutor zusätzlich übergeben habe, setze ich an der Stelle, wo vorher das Frame kreiert wurde.

Das hilft mir aber nicht, da ich das Frame dynamisch erstellen muss.
Oliver
  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 22:09 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