AGB  ·  Datenschutz  ·  Impressum  







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

Exception EAccessViolation?

Ein Thema von cugar · begonnen am 26. Jan 2007 · letzter Beitrag vom 26. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#1

Exception EAccessViolation?

  Alt 26. Jan 2007, 06:46
Moin,
wenn ich das Prog. beende, kommt: Exception EAccessViolation.
Es ist komisch, lege ich 2 Comboboxen auf mein Panel ist alles ok, kommt eine Dritte hinzu, bekomme ich die Fehlermeldung.
Habe versucht einem Tipp zu folgen, finde Suchen/Laufzeitfehler suchen aber nicht, habe dann vom Debuger behandelt eingeschaltet und mir den CPU-Register angezeigt, immer wieder bleibt es beim call dword ptr [ecx+$00000134] zu stehen.
Wie soll ich vorgehen?? (Habe selber nichts auf NILL gestellt)


Viele Grüsse
cugar
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 07:07
1, Komplierst Du mit Debug-DCU's? Falls nein bekommst Du keinen VCL-Sourcecode zu sehen wenn der fehler dort liegen würde
2, Ohne Quellcode ist das alles Hellseherrei. Ich habe öfters mehr als 2 ComboBoxen auf eine Formular und keine Probleme. Als wird es höchtwahrscheinlich schon etwas mit deinem Code zu tun haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#3

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 07:22
Hab nur "Behandel vom Debugger" eingeschaltet, wo finde ich "mit Debug-DCU komplieren"? (verwende Delphi Prof.2006)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 08:48
Hallo,

du findest den Schalter (bei D7) in den Projektoptionen in der Schaltergruppe "Debuggen". Aber ich muss Bernhard beipflichten: Der Fehler ist für uns wahrscheinlich sofort zu sehen, wenn wir nur sehen könnten. Du aber wirst ihn vielleicht auch dann nicht erkennen können, wenn du mit dem Debugger in immer größere Tiefen des VCL-Codes hinabsteigst.

Kannst du nicht zumindest die relevanten Code-Teile posten, z.B. OnDestroy() deiner Form?

Freundliche Grüße
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#5

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 13:21
Danke für deine Mühe, in meiner Form gibt es nur zum Schluß diese Procedute:

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False;
if MessageDlg('Anwendung beenden?',mtConfirmation, [mbYes,mbNo],0) = mrYes then begin
ActionDBaseDeaktiv;
TimerDatumZeit.Enabled:=False;
CanClose:=True;
end;
end;
Er bearbeitet alles ohne Probleme, dann kommt die Fehlermeldung.
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 13:29


Zitat:
if MessageDlg('Anwendung beenden?',mtConfirmation, [mbYes,mbNo],0) = mrYes then begin
mrYes = mbYes oder nicht?
mfg zecke
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 14:17
mbYes ist für den Button, mrYes für den Result
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#8

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 14:34
Richtig,
auch wenn ich diese Procedure auslasse und schreibe: Application.Terminate gibt es die Fehlermeldung, habe ich event. mein Formular überladen, dh. zu viele Panels und Co. ???
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 15:35
Nein, dass mag ich nicht glauben. Solche Probleme gab es mal unter Delphi 1, aber das ist lange her. Beim Beenden deines Programms laufen eine Vielzahl von Routinen ab, die stellenweise auch wieder auf Code zurückgreifen, welchen du selbst bereit gestellt hast. Ich würde einen BreakPoint im Event-Handler für OnCloseQuery() setzen und dann mit F7/F8 die eigenen Programmzeilen durchgehen. Auch würde ich prüfen, ob die Fehlersituation ausbleibt, wenn ich das Programm nach dem Start sofort wieder beende. Vielleicht kannst du größere Teile deines Codes auf Kommentar setzen und so die Stelle einkreisen, in welcher der Fehler vorbereitet wird. Wenn dein Projekt portabel ist, dann kannst du es auch anhängen.

Freundliche Grüße
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#10

Re: Exception EAccessViolation?

  Alt 26. Jan 2007, 15:47
Mit F7 hab ich schon versucht, ohne Probleme, er geht Zeile für Zeile ab, dann zum Schluß Sprung zum Manager.RUN (Projekt-Datei) und dann die Fehlermeldung.
Benutze paar Komponenten von PDJ-Tools, Edit-Felder usw. ob die event. unsauber programmiert wurden?
Es ist mir aufgefallen, das der Rechner langsam wird wenn ich das Programm laufen lasse, z.B. comboboxen brauchen etwas länger bevor sie die Listen zeigen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:24 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