Autor Beitrag
pupu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Sa 04.11.06 23:03 
hi
ich habe folgende zeile an der die fehlermeldung:

"Access violation at address 00463E7F in module 'Code.exe'. Write of address 00000304."

kommt...

ausblenden Delphi-Quelltext
1:
memo1.text:=liste[0];					


"liste" is vom Typ TStringlist und in "liste" wurde zuvor der inhalt einer Textdatei geladen...

Nun kommt aber dieser Fehler...
1. Was hat die Zeile mit Access Violation zu tun?
2. Was kann ich in zukunft mit "Access Violation"s anfangen?
3. Was gibt es prinzipiell für möglichkeiten, dass so ein Fehler auftritt in verbindung mit Tmemo und Tstringlist?

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 05.11.06 00:50 
Moin!

So ein (Laufzeit-)Fehler ist nichts, was man allgemein und für immer beheben kann.

Aufgrund der Adresse rate ich mal, dass zu dem Zeitpunkt, zu dem die Zeile ausgeführt wird, entweder in Mem1 oder in Liste ein NIL drin steht (sprich: das Objekt nicht initialisiert ist).

Warum das passiert, kann ich dir ohne den restlichen Quelltext nicht sagen. Und was man allgemein dagegen tun kann: keine Programmierfehler machen. :mrgreen: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: So 05.11.06 01:01 
hmmm

Hätt ja sein können dass "Access Violation" was bestimmtes ausdrücken soll...
Also wenn ich liste[0] ma watche (Strg+Alt+W) steht da genau das drin was drin stehn soll...nämlich die erste zeile aus der textdatei.

Und in das Memo1 soll ja was reingeschrieben werden also is doch egal was drinsteht und initialisiert is es denk ich ma ^^ zumindest is es auf der Form und so ;) oder was is genau mit initialisiert gemeint?

Den ganzen text kann ich kaum posten weil das irgendwie dann alles sein kann ;)
ich poste mal hier die prozedur in der liste initialisiert wird mit dazu
Also das ganze:
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:
procedure TForm1.ffnen1Click(Sender: TObject);
var liste:TStringlist;
begin
  if Form1.oeffnen.Execute then
    begin
      liste:=TStringlist.Create;
      liste.LoadFromFile(oeffnen.filename);
    if liste[liste.count-1]<>'ja' then
      passwortcheck(true,liste)
    else
      begin
        Application.CreateForm(TForm4, Form4);
        Form4.Showmodal;
      end;
    end;
end;

procedure TForm1.passwortcheck(valid:boolean; liste:TStringlist);
var n:integer;
begin
  with Form4 do
  begin
    memo1.Text:=liste[0];
    if valid then
      begin
        combobox1.itemindex:=strtoint(liste[liste.count-4]);
        case combobox1.itemindex of 0: spinedit1.value:=strtoint(liste[liste.count-2]);
                                    1: spinedit1.Value:=-strtoint(liste[liste.count-2]);
                                    3: ed_muster.text:=liste[liste.count-2];
         end;
      end;
  checkmodus(valid);
  end;
end;

in Zeile 23 hört er dann auf :?

den sinn dahinter versteht man erst wenn man das pogramm kennt...hab aber kb das jetzt zu erklären (zumahl das irrelevant is ;) )

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 05.11.06 01:06 
Moin!

Nur aufgrund dieser Zeile kann ich dir nicht mehr sagen, wo der Fehler herkommen könnte; das sind IMHO schon alle Möglichkeiten, da der Code ja nicht gerade als "komplex" zu bezeichnen ist... :D

Fazit: Mehr Code. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 05.11.06 01:09 
Moin!

Da haben wir´s doch schon: du greifst auf Form4 zu, obwohl es noch gar nicht initialisiert ist (das kommt ja erst später). Fazit: genau der Fehler, den ich aufgezeigt habe: Memo1 enthält ein NIL. :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: So 05.11.06 01:33 
-.- ich hasse solche fehler die so offensichtlich sind und man schaut die ganze zeit dran vorbei

edit: ok ich glaub ich muss was an meinen "with-do" gewohnheiten ändern ;) sonst kommts nur zu komplikationen...

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO