![]() |
Vokabeltrainer
Hallo,
ich programmiere gerade einen Vokabeltrainer. In einem Edit-Feld steht der Pfad des Textdokumentes. Oder wenn man auf den Button1 klickt, dann wird der OpenDialog ausgewählt. In dem Textdokument stehen die vokabeln: deutsch-französisch!!!
Delphi-Quellcode:
Ich hoffe ihr könnt mir helfen,
procedure TForm1.Button2Click(Sender: TObject);
begin if opendialog1.Filter = '.txt' then begin label25.Caption := '1'; end; if label25.caption = '0' then begin showmessage ('Fehler'); end; form1.Height := 338; vokabeln.LoadFromFile(edit1.Text); weiter := tstringlist.Create; weiter.loadfromfile ('neu.txt'); if label3.Caption = '1' then begin label2.Visible := false; button1.Visible := false; edit2.Visible := false; if label5.Caption = 'Schlecht' then label4.Caption := vokabeln [0]; label4.Visible := true; edit1.Visible := true; button3.Visible := true; end; if label3.Caption = '0' then application.MessageBox('Du hast keine Datei ausgewählt!','Fehler',0+0); end; procedure TForm1.Button1Click(Sender: TObject); begin opendialog1.Execute; edit2.Text := opendialog1.FileName; end; procedure TForm1.Button3Click(Sender: TObject); begin if edit2.Text = vokabeln [21] then label5.Caption := 'Gut' else label5.Caption := 'Schlecht'; end; procedure TForm1.Button4Click(Sender: TObject); begin weiter [1] := label5.Caption; weiter.SaveToFile(shellcombobox1.root); end; procedure TForm1.FormCreate(Sender: TObject); begin form1.Height := 300; end; end. Jan |
Re: Vokabeltrainer
Und jetzt kommt so eine komische Fehlermeldung mit einer Zugriffsverletzung oder so einer Exception in Vokabeltrainer.exe!!!
|
Re: Vokabeltrainer
Wie heisst denn die Fehlermeldung !
Ich tippe mal auf diese Zeile
Delphi-Quellcode:
wird wohl die Datei nicht finden wegen dem Pfad.
weiter.loadfromfile ('neu.txt');
|
Re: Vokabeltrainer
Natürlich findet er den Pfad, die Textdatei ist ja in dem Ordner wo auch das Programm gespeichert ist.
Die Fehlermeldung lautet bei XP: Eine Exception der Klasse 00001 ist in Modul Vokabeltrainer.exe aufgetreten. In Vista: Zugriffsverletzung in Moudul 00001! |
Re: Vokabeltrainer
Zitat:
Setze einen Breakpoint auf die erste Zeile im OnClick und führe den Code schrittweise aus. Weitere Infos zu "Debugger" findest z.B bei ![]() |
Re: Vokabeltrainer
Ich denke das wird der Fehler sein:
Delphi-Quellcode:
Du erzeugst die Stringlist aber gibts sie nicht am Ende frei! Also würd ich mal am Ende ein
weiter := tstringlist.Create;
Delphi-Quellcode:
einfügen.
weiter.Free;
oder du hast die StringListe "Vokabeln" nicht erzeugt! lg |
Fehlermeldung
Das Funktioniert auch nicht!
Die Fehlermeldung lautet: Im Projekt Vokabeltrainer.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00475D26 in Modul Vokabeltrainer.exe'. Lesen von Adresse 000000000'. Prozess wurde angehalten. |
LoadFromFile
Ich habe mal ausprobiert!
Der Fehler liegt in:
Delphi-Quellcode:
wenn ich das rausnehme dann erscheint die fehlermeldung nicht!
vokabeln.LoadFromFile (edit1.text);
aber ohne diese zeile funktioniert es ja nicht! Habt ihr ne Idee? |
Re: Vokabeltrainer
Also erst einmal sehe ich nicht, wo die Instanz von Vokabeln erzeugt wird.
Dann zweitens solltest du prüfen, ob der in Edit1 stehende Dateiname dem wirklichen entspricht. Da eine AV auftritt, denke ich mal, Vokabeln wurde nicht richtig instanziert. |
Variablen
Delphi-Quellcode:
var
Form1: TForm1; weiter: tstringlist; weiterweiter: string; weiter1: string; weiter2: string; weiter3: string; weiter4: string; weiter5: string; weiter6: string; weiter7: string; weiter8: string; weiter9: string; weiter10: string; weiter11: string; weiter12: string; weiter13: string; weiter14: string; weiter15: string; weiter16: string; weiter17: string; weiter18: string; weiter19: string; weiter20: string; vokabeln: tstringlist; vokabel1: string; vokabel2: string; vokabel3: string; vokabel4: string; vokabel5: string; vokabel6: string; vokabel7: string; vokabel8: string; vokabel9: string; vokabel10: string; vokabel11: string; vokabel12: string; vokabel13: string; vokabel14: string; vokabel15: string; vokabel16: string; vokabel17: string; vokabel18: string; vokabel19: string; vokabel20: string; |
Re: Vokabeltrainer
Hast du nicht irgendwo Vokabeln := TStringList.Create stehen?
|
Antwort
Jetzt ist die Fehlermeldung weg, aber jetzt kommt die Meldung: Das System kann den angegebenen Pfad nicht finden!
Woran könnte das liegen??? |
Re: Vokabeltrainer
Das der in Edit1 aeingetragene Dateiname nicht dem Dateinamen der Datei entspricht, die du laden willst.
|
Re: Vokabeltrainer
Zitat:
Zitat:
|
Re: Vokabeltrainer
Mach Dir mal den Unterschied zwischen absoluten und relativen Pfaden klar. Außerdem zeigt sich wieder, dass eine vernünftige Fehlerbehandlung Gold wert sein kann (trust no one, not even yourself).
|
Re: Vokabeltrainer
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 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