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 StringGrid-OpenDialog Fehler (https://www.delphipraxis.net/5103-stringgrid-opendialog-fehler.html)

dde 23. Mai 2003 20:43


StringGrid-OpenDialog Fehler
 
Wenn ich mit meinem OpenDialog eine StringGrid-Datei öffne, dann kommt folgende Fehlermeldung:

Acces violation at address 004618DD in module 'Vok.exe'. Write of address 0042C974.

Hier der Quelltext:

Delphi-Quellcode:
OpenDialog1.FileName:='';
 if NextButton.Enabled=true then
  begin
   VokabelLabel.Caption:='';
   VokEingabeEdit.Text:='';
   VokEingabeEdit.Enabled:=false;
   NextButton.Enabled:=false;
   EnterButton.Enabled:=false;
  end;
 if OpenDialog1.Execute=true then
  begin
   LadeVokabeln(OpenDialog1.FileName);
   DateiLabel.Caption:=OpenDialog1.FileName;
   Form1.Height:=530;
  end;

Stanlay Hanks 23. Mai 2003 20:55

Ich fände es schon gut, wenn ich auch ne fehlermeldung sehen würde :wink:

dde 23. Mai 2003 21:55

jetzt sieht mans!

Luckie 23. Mai 2003 21:57

Und ich wüßte gerne, was eine "StringGrid"-Datei ist.

dde 24. Mai 2003 08:52

ist ne stringliste

Tom 24. Mai 2003 09:11

Und was machst Du so in LadeVokabeln? Die anderen hier geposteten Zeilen werden kaum eine Access violation (Zugriffsverletzung) hervorrufen.

Hilfsreich ist es auch einen Breakpoint zu setzen und selber mal den Quelltext zeilenweise zu debuggen.

dde 24. Mai 2003 09:15

hab gerade gemerkt, das speichern funktioniert auch nicht mehr richtig, obwohl der quelltext von beiden prozeduren richtig ist!!

EDIT: @ TOM hab ich schon gemacht, beim laden ist das Problem das er keine Zeile ladenkann, beim Speichern zeigt er mir kein Problem aber speichert halt nicht richtig

Tom 24. Mai 2003 09:22

Zitat:

Zitat von dde
hab gerade gemerkt, das speichern funktioniert auch nicht mehr richtig, obwohl der quelltext von beiden prozeduren richtig ist!!

Das ist ein Widerspruch in sich.

Zitat:

hab ich schon gemacht
Und in welcher Zeile genau kommt die Access Violation?

dde 24. Mai 2003 09:31

Zitat:

Das ist ein Widerspruch in sich.

Mag zwar stimmen, aber ich geh mal davon aus dass der richtig ist, weil der ja auch vorher funktioniert hat! Vielleicht braucht es ja ne "uses" oder irgendwas anderes.

Zitat:

Und in welcher Zeile genau kommt die Access Violation?
Genau dann wann er was einlesen soll:
Delphi-Quellcode:
F := TStringList.Create;
  try
    F.LoadFromFile(FileName);
    StringGrid.RowCount := StrToInt(F[0]);  \\ einmal hier!!
    StringGrid.ColCount := StrToInt(F[1]);   \\wenn das davor nicht wäre, dann hier
    for i := 0 to (StringGrid.RowCount - 1) do
      StringGrid.Rows[i].CommaText := F[i + 2];  \\ wenn vorher keine verletzung war, dann hier!!!
  finally
    F.Free;
irgendwelche ideen?

dde 24. Mai 2003 09:47

Problem GELÖST!!!!

Im Prozedurkopf hatte ich ausversehen die vorgabe "const" gelöscht!

so müsste es normaler weise aussehen im prozedurkopf:

Delphi-Quellcode:
procedure Speichern(const FileName:string);


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 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-2025 by Thomas Breitkreuz