Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Access violation (https://www.delphipraxis.net/95667-access-violation.html)

capo 11. Jul 2007 09:41


Access violation
 
Hallo..
wißt ihr was diese Fehlermeldung zu bedeuten hat:
Testumgebung war ein Windows 2000 Prof.Server
Delphi-Quellcode:
Access violation at address 005BC526 in module 'Project1.exe'. Read of address 00000000.
Beim zweiten Programmstart ist der Fehler weg.

Der Fehler hat evtl. damit zu tun:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  shellfolder := GetShellFolder(CSIDL_COMMON_APPDATA);
  sExePath := (shellfolder + '\TEST\');
  if not DirectoryExists(shellfolder + '\TEST') then begin
    createDir(shellfolder + '\TEST\');
    StringGrid1.savetoCSV(shellfolder + '\TEST\db.csv');
    Memo2.Lines.SaveToFile(shellfolder + '\TEST\stat.ini');
  end

  else
Ich will beim Programmstart den Ordner und die Dateien erzeugen (es geht immer noch um mein Vista/Ini Problem.

gruss vom capo :gruebel:

mirage228 11. Jul 2007 09:46

Re: Access violation
 
Hi,

Also die Fehlermeldung deutet auf eine Nullzeigerdereferenzierung hin, also irgendwo im Code versuchst du auf eine Variable zuzugreifen, die zu diesem Zeitpunkt = nil ist.

mfG
mirage228

capo 11. Jul 2007 09:58

Re: Access violation
 
Okay...danke.
Kann man das sonst so machen, ich meine das erstellen des Ordners und der Dateien?
gruss vom capo

mirage228 11. Jul 2007 10:04

Re: Access violation
 
Zitat:

Zitat von capo
Kann man das sonst so machen, ich meine das erstellen des Ordners und der Dateien?
gruss vom capo

Hey,

Ja sieht schon ganz okay aus. Nur, wozu belegst Du die sExePath Variable, wenn Du danach den Pfad eh wieder manuell zusammenbaust? ;)

Du könntest ggf. noch das Ergebnis von CreateDir() abfangen, falls es da einen Rückgabewert gibt - könnte ja sein, dass das Erstellen des Ordners fehlschlägt (aus welchem Grund auch immer).

mfG
mirage228

capo 11. Jul 2007 10:25

Re: Access violation
 
Zitat:

Ja sieht schon ganz okay aus. Nur, wozu belegst Du die sExePath Variable, wenn Du danach den Pfad eh wieder manuell zusammenbaust? Wink
stimmt, du hast recht, hatte ich rausgenommen weil ich dachte, dass der Fehler damit was zu tun hat
Danke für den CreateDir() Tip
gruss capo


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