Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Access Violation bei Open Dialog (https://www.delphipraxis.net/121637-access-violation-bei-open-dialog.html)

Larsi 1. Okt 2008 17:54


Access Violation bei Open Dialog
 
Hi,
ich habe ein sehr großes Problem. Ich rufe über einen Button einen ganz normalen Open Dialog auf. Das ist auch schon das Problem, wenn ich auf den Buttn wo folgendes drinnen steht:

Delphi-Quellcode:
OpenDialog1.Execute;
Edit1.Text := OpenDialog1.Filename;
draufdrüke dann kommt folgender Fehler:

Zitat:

---------------------------
Benachrichtigung über Debugger-Problem
---------------------------
In Projekt C:\Dokumente und Einstellungen\Lars\Desktop\Projekt\Projekt.exe trat ein Problem mit folgender Meldung auf: 'access violation at 0x7c91e8c5: write of address 0x00040ecc'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK
---------------------------
Dies ist seitem ich eine Gradient Komponente (Farbverlauf) installiert habe. Da ich diese während des Projekts aber schonmal installiert habe und danach noch alles ging glaube ich nicht das es daran liegt.

Der Fehler kommt sowohl beim Compillieren als auch wenn man die Exe Datei extern aufruft.

Woran liegt das? Ich habe auch schon den Opendialog gelöscht und wieder eingefügt aber das bringt alles nichts.

Was kann ich jetzt machen? Das Projekt von vorne anfangen kommt überhaupt nicht in Frage!

Wenn ich ein neues Projekt erstelle und den Opendialog öffne geht alles.

MFG Lars Wiltfang

Der.Kaktus 1. Okt 2008 17:58

Re: Access Violation bei Open Dialog
 
Hallo Larsi,

vielleicht mal ein
Delphi-Quellcode:
Try Except
einbauen ;-)

hoika 1. Okt 2008 18:03

Re: Access Violation bei Open Dialog
 
Hallo,

sicher dass das genau dort kommt (Breakpoint setzen !)
Ausserdem muss es heissen

Delphi-Quellcode:
if OpenDialog1.Execute then
begin
  xxx:= OpenDialog1.FileName
end;

> Ich habe auch schon den Opendialog gelöscht und wieder eingefügt >
1. einfach in der IDE (im Quellcode)
2. über den Form-Designer

1. geht natürlich schief, weil die Variable dann NIL ist


Heiko

uligerhardt 1. Okt 2008 18:05

Re: Access Violation bei Open Dialog
 
Das:
Zitat:

Zitat von Larsi
Delphi-Quellcode:
OpenDialog1.Execute;
Edit1.Text := OpenDialog1.Filename;

sollte auf jeden Fall so:
Delphi-Quellcode:
if OpenDialog1.Execute then
  Edit1.Text := OpenDialog1.Filename;
heißen.

Uli.

// EDIT: Kein roter Kasten? :-)

ok.de 10. Nov 2008 17:13

Re: Access Violation bei Open Dialog
 
Hi

Ich habe z.Z. ein ganz ähnliches Problem: In meinem Programm habe ich zwei TSaveDialogs und seit gestern kommt bei beiden immer bei Execute() eine AV wie oben beschrieben. Wenn ich das Prog ohne Debugger ausführe, beendet es sich an der Stelle ohne Meldung. Das ganze hat auch schon reibungsfrei funktioniert. Im Zusammenhang mit den TSaveDialogs habe ich nichts großartig geändert, jedenfalls nicht dass ich wüsste.
Woran könnte das liegen??

Ich führe die Dialoge ganz normal aus:
Delphi-Quellcode:
if SaveDialog.Execute then begin

end else begin

end;
Mit Try .. Except ändert sich nichts.

Olli

DeddyH 10. Nov 2008 17:31

Re: Access Violation bei Open Dialog
 
Erzeugst Du die Dialoge dynamisch oder sind das einfach nur Komponenten auf dem Formular?

Larsi 10. Nov 2008 17:34

Re: Access Violation bei Open Dialog
 
Also bei mir sinds nur Komponenten (ja ich habe das Problem auch noch).

DeddyH 10. Nov 2008 17:36

Re: Access Violation bei Open Dialog
 
Häng doch das Projekt mal an, wenn es nicht zu geheim ist.

Larsi 10. Nov 2008 17:38

Re: Access Violation bei Open Dialog
 
Is zu geheim tut mir leid :lol: *Spannung mach* Aber in der Form steht wirklich nicht viel anderes. Ich tippe auf Delphi Bug der auftritt wenn man den Dialog zur falschen Stelle aufruft. ok.de kann ja seinen Code hochladen :lol:

Meflin 10. Nov 2008 17:57

Re: Access Violation bei Open Dialog
 
Zitat:

Zitat von Larsi
Is zu geheim tut mir leid :lol: *Spannung mach* Aber in der Form steht wirklich nicht viel anderes. Ich tippe auf Delphi Bug der auftritt wenn man den Dialog zur falschen Stelle aufruft. ok.de kann ja seinen Code hochladen :lol:

Ich tippe ja eher auf Larsi-Hirn-Bug. Welche Stelle wäre das denn?!

ok.de 10. Nov 2008 17:59

Re: Access Violation bei Open Dialog
 
Auch ich arbeite mit den Standardomponenten, die bei Delphi dabei sind.
Zitat:

Zitat von Larsi
Ich tippe auf Delphi Bug der auftritt wenn man den Dialog zur falschen Stelle aufruft.

Wie gesagt, ich hab zwei TSaveDialogs, die an total verschiedenen Stellen aufgerufen werden und bei beiden tritt der Fehler auf.
Was mir gerade noch aufgefallen ist: Auch bei meinem TOpenDialog kommt die AV.
Zitat:

Zitat von Larsi
ok.de kann ja seinen Code hochladen :lol:

nein. :wink:

Vielleicht ist das noch interessant: Ich hab vor kurzem den TVirtalStringTree installiert. Larsi hat auch von einer Komponente gesprochen... haben die was gemeinsam?

DeddyH 10. Nov 2008 18:03

Re: Access Violation bei Open Dialog
 
Den VST hab ich auch installiert, trotzdem funktionieren meine Dialoge. Wenn ein Neuerzeugen des Projekts auch nichts bringt, kommen wir ohne Code wohl nicht weiter, es sei denn, irgendwer findet da was im Netz (ich hab auf die Schnelle jetzt nichts gefunden, außer dem hier, vielleicht hilft das Tool ja sogar :mrgreen:).

ok.de 10. Nov 2008 18:07

Re: Access Violation bei Open Dialog
 
So, ich hab mein Programm jetzt mal auf einem anderen Rechner ausprobiert, und da LÄUFTS! Auf beiden ist Delphi und WinXP drauf und zum Zeitpunkt des Programmstarts war Delphi nicht gestartet.

emsländer 10. Nov 2008 18:19

Re: Access Violation bei Open Dialog
 
Ist auf dem Problem-Rechner vielleicht die Software einer Logidreck Webcam installiert?

=> Weg damit - hilft Wunder!


Gruss

EL

DeddyH 10. Nov 2008 18:21

Re: Access Violation bei Open Dialog
 
Stimmt, da war doch mal was mit dem Logitech-Treiber.

ok.de 10. Nov 2008 18:29

Re: Access Violation bei Open Dialog
 
Ja, also ein Logitech Treiber ist installiert, aber nur für meine Tastatur. Und als ich den frisch drauf hatte, gings auch noch, wenn ich mich nicht irre.
Ich habs jetzt mal im Abgesicherten Modus (Treiber müssten da doch inaktiv sein!?) versucht, aber nix hat sich geändert.

DeddyH 10. Nov 2008 19:03

Re: Access Violation bei Open Dialog
 
Da kann ich Dir aus der Ferne leider nicht weiterhelfen.

smallsmoker 10. Nov 2008 19:18

Re: Access Violation bei Open Dialog
 
ich weiß nicht ob es dein problem betrifft aber das hat mir mal bei problemen mit nem opendialog geholfen:
link

anbei: der bug tritt auch unter vista auf und wird auch mit dem selben tipp behoben

mfg smallsmoker

Larsi 10. Nov 2008 19:22

Re: Access Violation bei Open Dialog
 
Guck ich mir mal an.

Die Muhkuh 10. Nov 2008 19:26

Re: Access Violation bei Open Dialog
 
Erstell doch ein Beispielprojekt, bei dem das Problem auch auftritt und häng es an...

Larsi 11. Nov 2008 13:57

Re: Access Violation bei Open Dialog
 
Wenn man ein neues Projekt erstellt geht ja alles.

dynamo 17. Jan 2009 20:04

Re: Access Violation bei Open Dialog
 
Ich hatte ein ähnliches Problem: Beim Debugger kam immer die Meldung "Access-violation usw...".
Und zwar bei bereits einfachsten Projekten: 1 Form mit 1 Button und zwei Variablen.
Mein System: WinVista-64Bit, Delphi2007.
Emsländer gab mir den entscheidenden Hinweis: Die Logitech-Webcam-Software ! Sie war es dann auch!
Aber nur die Programm-Software - nicht der Treiber! Der kann drauf bleiben.
Programm-Software deinstalliert - jetzt funzt alles.
Auch wenn dieser Beitrag etwas spät kommt - vielleicht hilft er ja anderen beim gleichen Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 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