| Autor |
Beitrag |
zcidq8
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Do 13.10.05 19:13
Hallo,
ich programmiere jetzt schon länger an einem Programm und alles lief einwandfrei. Doch plötzich gibt delphi mir immer eine Fehlermeldung:
Im Projekt NAME ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: Access violation at adress 0053762B in module Programm.exe Read o address 00000064.
Was bedeutet dieser Fehler? Woher stammt der Fehler? Warum lief bis jetzt alles einwandfrei und plötzlich dieser Fehler?
Wer hat Erfahrung mit solchen Fehlern und Lösungen?
Einloggen, um Attachments anzusehen!
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Do 13.10.05 19:14
Um das herauszufinden benötigen wir die Zeile(n) vor der, die im Screenshot sichtbar ist
AXMD
|
|
walvaterwotan
      
Beiträge: 23
|
Verfasst: Do 13.10.05 20:45
schau mal auf meinen Beitrag: "DoSCommand erzeugt EAccessViolation".
Dort hab ich anch dem gleichen Prob gefragt und bis jetzt konnte noch keiner helfen.
Mal schauen ob es bei dir was wird 
|
|
digi_c
      
Beiträge: 1905
W98, XP
D7 PE, Lazarus, WinAVR
|
Verfasst: Do 13.10.05 21:08
Eventuell falsch/nicht initialisierte Objeckte wie etwa so: TObjeckt.Create()
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Fr 14.10.05 14:45
Titel: screenshot
Hallo,
hier ist erst mal der screenshot von der Fehlermeldung.
Einloggen, um Attachments anzusehen!
|
|
MisterBum83
      
Beiträge: 245
Erhaltene Danke: 2
WIN XP
Delphi 6
|
Verfasst: Fr 14.10.05 14:48
Kann es vielleicht sein, das er in der Procedure TabelleWocheGesamtErzeugen abstürzt.
Bist du schonmal im DebugModus durchgegangen?
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 14.10.05 14:51
würd auch sagen es liegt an TabelWochenGesamtErzeugen
aber mal ne andere frgae du versuchst doch nicht etwa mit GetCurrentDir den Pfad der andweung auszulesen oder?
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Fr 14.10.05 15:54
Titel: GetCurrentDir
Hallo,
ich lese mit GetCurrentDir den Pfad aus. Womit geht es denn Besser?
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 14.10.05 15:58
[OT]
es sollte mit ExtractFilePath(ParamStr(0)) gemacht werden
[/OT]
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
Martin1966
      
Beiträge: 1068
Win 2000, Win XP
Delphi 7, Delphi 2005
|
Verfasst: Fr 14.10.05 15:58
Die eigentliche Frage ist nicht wo mit es besser geht sondern welchen Pfad du haben möchtest. Möchtest du das Anwendungsverzeichnis oder das Arbeitsverzeichnis?
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Fr 14.10.05 16:03
ExtractFilePath(ParamStr(0)) funktioniert schon mal.
|
|
Martin1966
      
Beiträge: 1068
Win 2000, Win XP
Delphi 7, Delphi 2005
|
Verfasst: Fr 14.10.05 16:05
Und dir ist klar welches Verzeichnis du damit zurück bekommst?
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Fr 14.10.05 16:14
Das Verzeichnis incl. Schrägbalken meiner Anwendung.
Aber zurück zu meiner Fehlermeldung. Die gleiche Fehlermeldung tritt auch auf wenn ich die Zeile 166/167 weglasse. Dann bleibt mein Programm an der gleichen Stelle stehen. Dann kann es also nicht an TabelleWochenGesamtErzeugen liegen.?!?!
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 14.10.05 16:25
auch solltest besser kein pfad.caption benutzen wenn du des selbe in X stehen hast
aber warum genau der fheelr kommt kann ich net sagen wie sieht denn die fuunktion von Erzeugen aus?
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Fr 14.10.05 18:01
Das Merkwürdige an der Sache ist das ein Tag vorher alles lief und am nächsten Tag war der Fehler da ohne das ich irgendwas geändert habe. Das verstehe ich ja nicht. Alle Prozeduren liefen einwandfrei.!?!?!?!?!?!?!
|
|
walvaterwotan
      
Beiträge: 23
|
Verfasst: Fr 14.10.05 19:01
Ja und genau den gleichen konnte ich bei mir auch beobachten. Erst funktioniert es und plötzlich ohne Änderungen geht es nicht mehr.
Was genau sagt denn nun der Fehler eigentlich aus ? 
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Fr 14.10.05 20:21
EAccessViolation ist die Exception-Klasse für Fehler, die durch ungültige Speicherzugriffe ausgelöst werden. Aber wo die Ursache liegt? Keine Ahnung.
|
|
Kokel
      
Beiträge: 79
XP Prof
delphi 2006 Prof.
|
Verfasst: Fr 14.10.05 20:46
Sieht für mich auch nach nem falschen lese schreibzugriff im memory aus.
Also beim create wird speicher reserviert.
Ich denke das der fehler beim: Tablewochengesamterzeugen entsteht.
Da du den fehler nicht direkt korrigieren kannst (da delphi die speicherbereiche in diesem fall für dich verwaltet.)
Du solltest mal versuchen den Create code zu verschieben. Vielleicht zwingst du Delphi einnen anderen Speicherbereich zu wählen.
Im übrigen kann es auch auf einem defekten Rambaustein hinweisen.
|
|
zcidq8 
      
Beiträge: 26
Win XP, Win 98
D6 Prof.
|
Verfasst: Sa 15.10.05 06:29
TabelleWochenGesamtErzeugen wird nur aufgerufen falls die Tabelle noch nicht existiert. Da sie aber schon existiert wird die Prozedur gar nicht erst aufgerufen. Denke nicht das der Fehler daran liegt.
Habe die Create Methoden in alle möglichen Variatonen verschoben, der Fehler bleibt.
Habe ein Testprogramm mal meinen Speicher checken lassen. Alles ok.
|
|
MrSaint
      
Beiträge: 1033
Erhaltene Danke: 1
WinXP Pro SP2
Delphi 6 Prof.
|
Verfasst: Sa 15.10.05 07:34
Setz mal nen Haltepunkt in der Zeile und schau mal was da nil ist. Also: Einmal mit der Maus über "DataModulWochenplan" und einmal über das "TableGesamt" und jeweils kurz warten (alternativ Abfrage mit Strg+F7). Dann weißt du was nicht initialisiert ist...
MrSaint
_________________ "people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
|
|