Autor Beitrag
Biondo
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 25.02.09 18:54 
Hi,

Ich wollte mit dem Befehö SavetoFile eine Datei speichern indem ich auf den Button fertig drücke. Das Programm läuft Fehlerlos aber wenn ich dann auf fertig klicke kommt diese Meldung:

Zugriffsverletzung bei Adresse 00456A7C in Modul Klemp7.exe.Lesen von Adresse 0000000.

Ich bin ziemlich neu bei der Delphiprogammierung und solche Sachen überfodern mich einfach. Mein Betriebssystem ist Vista, damit hatte ich schon öfters Ärger bei der Benutzung von Delphi. Danke für eure Mithilfe
Dunkel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 682

Mac OS X Snow Leopard
Xcode 3.1
BeitragVerfasst: Mi 25.02.09 18:57 
Hallo und willkommen im Forum!

Ein wenig Quelltext schadet nie; ohne ist das immer so ein mühseliges Stochern im Dunkeln

_________________
Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
Biondo Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 25.02.09 19:00 
Ok sry hier der Quelltext für das Problem:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var
  Form1: TForm1;
  Diagnose, Psycho: TStringList;


procedure TForm1.Button2Click(Sender: TObject);
begin
  Nr := random (Diagnose.Count);
  Panel1.Caption := Diagnose.Strings[Nr];
  Psycho.Add (Edit1.Text);


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   try
     Psycho.SaveToFile (Sammelname);
   except
     ShowMessage ('Fehler beim Speichern der Datei!');
     end;
end;


Zuletzt bearbeitet von Biondo am Mi 25.02.09 19:12, insgesamt 1-mal bearbeitet
Jens Hartmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120

XP
Delphi
BeitragVerfasst: Mi 25.02.09 19:08 
Hallo erstmal,

ich habe mal so ein ähnliches Problem gehabt.

Im Anhang habe ich dir mal ein Projekt gepackt, was mir mal jemand zur Verfügung gestellt hat, wo man sieht wie richtig gespeichert wird.

Vieleicht hilft Dir das.

Ansonsten, solltest Du deinen Quellcode mit [DELPHI..] und [/DELPHI..] einfassen, dann kann man den besser lesen.

PS: Die Punkte hinter DELPHI musst Du weglassen, die habe ich nur mit eingefügt, das du es lesen kannst.

Gruß

Jens
Einloggen, um Attachments anzusehen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 25.02.09 19:12 
Der Fehler dürfte sein, dass du das Objekt Psycho nirgends erstellst, jedenfalls hast du davon nix gepostet.
ausblenden Delphi-Quelltext
1:
 Psycho := TStringList.Create;					
Biondo Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 25.02.09 19:15 
Ok hier der Vollständige Quelltext:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
const
  DateiName = 'Diagnose.txt';
  SammelName = 'PsychoX.txt';
var
  Form1: TForm1;
  Diagnose, Psycho: TStringList;
  Nr: Integer;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
  Diagnose := TStringList.Create;
  try
   Diagnose.LoadFromFile (DateiName);
  except
    Diagnose.Add('Keine Sprechstunde');
    Diagnose.ADD ('Praxis geschlossen');
    Diagnose.Add('Hilf dir selbst!');
   Psycho := TStringList.Create;
  ScrollBar1.Min := 0;
  ScrollBar1.Max := Diagnose.Count - 1;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Panel1.Caption := '';
  Edit1.Text := '';
  Edit1.SetFocus;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Nr := random (Diagnose.Count);
  Panel1.Caption := Diagnose.Strings[Nr];
  Psycho.Add (Edit1.Text);
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
  Panel1.Caption := Diagnose.Strings[ScrollBar1.Position];
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   try
     Psycho.SaveToFile (Sammelname);
   except
     ShowMessage ('Fehler beim Speichern der Datei!');
     end;
end;

end.


Jens vielen Dank für das Pogramm. Ich versuche es mal damit

PS: Sry mit dem Pogramm kann ich nicht so viel anfangen
Bitte habt ein wenig Geduld mir
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 25.02.09 19:20 
user profile iconBiondo hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
  try
   Diagnose.LoadFromFile (DateiName);
  except
    Diagnose.Add('Keine Sprechstunde');
    Diagnose.ADD ('Praxis geschlossen');
    Diagnose.Add('Hilf dir selbst!');
    Psycho := TStringList.Create;
    ScrollBar1.Min := 0;
    ScrollBar1.Max := Diagnose.Count - 1;
  end;
end;
Du erstellst Psycho ja nur bei einem Fehler beim Laden von Diagnose...
Biondo Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 25.02.09 19:26 
Ok danke das Problem ist gelöset