AGB  ·  Datenschutz  ·  Impressum  







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

Zugriffsverletzung bei Programmende.

Ein Thema von Dani · begonnen am 31. Mai 2004 · letzter Beitrag vom 31. Mai 2004
Antwort Antwort
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#1

Zugriffsverletzung bei Programmende.

  Alt 31. Mai 2004, 12:33
Hi DPler,

Jedes mal, wenn ich mein Programm beende (d.h. das Hauptformular schließe), kommt es zu dieser Zugriffsverletzung:

---------------------------
Anwendungsfehler
---------------------------
Exception EAccessViolation in Modul Project1.exe bei 0004B874.

Zugriffsverletzung bei Adresse 0044B874 in Modul 'Project1.exe'. Lesen von Adresse 00000194.


---------------------------
OK
---------------------------

Die Speicheradresse ist immer die gleiche (00000194). Wo genau der Fehler liegt, weiß ich leider nicht, nur dass er irgendwann nach OnClose, daher wahrscheinlich beim Freigeben einer Komponente entsteht.

In dem Programm verwende ich ausser Standard-Kompos nur ein paar JVCL Komponenten (JvMemo, JvListview, JvSpinEdit) und dynamisch erzeugte Indy-Komponenten. Allerdings kommt die Zugriffsverletzung auch, wenn die Indy-Kompos noch gar nicht erzeugt worden sind. Ich habe ehrlich gesagt keinen Schimmer, was diesen Fehler auslöst

Hat jemand schonmal das gleiche Problem gehabt?

Gruß,
Dani
Dani H.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zugriffsverletzung bei Programmende.

  Alt 31. Mai 2004, 12:35
Hai Dani,

was steht denn im .OnClose deiner MainForm?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Zugriffsverletzung bei Programmende.

  Alt 31. Mai 2004, 12:41
Einfach mal Programm starten und über den Menüpunkt "Suchen/Laufzeitfehler suchen" und die Adresse 0044B874 eingeben. Stößt Du auf Delphi-Code oder nur auf Assemlber.

Falls nur Assemler auftaucht, Programm nochmal mit Debug-DCU's erstellen und laufen Lassen und beim beenden jetzt geänderte Adresse merken und nochmals per "Suchen/Laufzeitfehler suchen" auf die Suche gehen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Zugriffsverletzung bei Programmende.

  Alt 31. Mai 2004, 12:53
eventuell gibst du eine Komponente frei die du gar nicht selbst erstellt hast und beim beenden des programmes wird dann versucht die komponente freizugeben was du ja aber schon gemacht hast.
Beispiel: Du hast auf das Programm einen Button gesetzt und gibst diesen irgendwann mit "button.free" frei. Dann kommt bei programmende eventuell ein Fehler weil der button schon freigegeben ist...
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Zugriffsverletzung bei Programmende.

  Alt 31. Mai 2004, 13:16
Gerade will ich die Laufzeitfehlersuche ausprobieren, kommt der Fehler plötzlich nicht mehr. Das scheint sich mit jeder Neucompilierung zu ändern

Fettes Dankeschön aber für den Hinweis auf dieses mir vorher unbekannte Feature! Da werd ich wohl noch ein paar andere, bereits aufgegebene Projekte nochmals durchgehen müssen =)
Dani H.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Zugriffsverletzung bei Programmende.

  Alt 31. Mai 2004, 15:16
Hast Du evtl. beim beenden noch eine aktive DB-Verbindung.
Probiere mals diese im OnCloseQuery/OnClose-Event des Hauptformulars zu schließen. Hatte da auch mal ein Problem wenn die DB-Verbindung noch aktiv ist wenn das Programm beendet wird (Versuch Screen.Cursor zu setzen, obwohl das Screen-Objekt schon freigegeben war).
  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 01:00 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