AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung bei Inc()

Ein Thema von Neutral General · begonnen am 26. Sep 2004 · letzter Beitrag vom 26. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:00
Bei dieser Procedure bekomme ich eine Zugriffsverletzung (Anhang)
direkt beim Start (Wann auch sonst ) auftritt. Ich weis nicht was dazu führt ...
Normalerweise müsste das doch gehen, oder ?

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i,j : Integer;
begin
for i := 0 to 25 do begin
 for j := 0 to 31 do begin
  Spielfeld[Feld] := TSpielfeld.Create(Self);
   with Spielfeld[Feld] do begin
    Parent := Form1;
    Left := i*38 + 20;
    Top := j*18 + 10;
    Autosize := true;
    Cursor := crHandPoint;
    Hint := ' ';
    OnClick := Imageladen;
    OnMouseMove := ShowHint2;
    Nr := Feld;
   end;
  inc(Feld);
 end;
end;
end;
Miniaturansicht angehängter Grafiken
meldung_127.jpg  
Michael
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:02
Hi!

Was ist denn Feld und was ist Spielfeld?

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:04
Delphi-Quellcode:
type
  TSpielfeld = class(TImage)
  private
   Nr : Integer;
end;

var
Spielfeld : Array[0..150] of TSpielfeld;
Feld : Integer;
Michael
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:06
Hi!

Ich denke mal, dass du Feld zuerst mal intialisieren musst.
Daran könnte es liegen.

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:08
Setz mal die Länge des Arrays mit [oh}SetLenght[/oh].
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:08
Mach Feld lokal, dann wird dir auffallen das du Feld nicht am Anfang auf Null setzt.
Warum machst du Spielfeld nicht zweidimensional?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:09
1. Wie soll ich das machen ?
2. Ohne inc(Feld) Funktioniert es ...
ich habe dann aber nur Spielfeld[0]'s,
was ich nicht will ...
Michael
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:11
Hi!

Ich würde es so machen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i,j,feld : Integer;
begin
feld:=0;
for i := 0 to 25 do
 begin
   for j := 0 to 31 do
    begin
      Spielfeld[Feld] := TSpielfeld.Create(Self);
      with Spielfeld[Feld] do
        begin
         Parent := Form1;
         Left := i*38 + 20;
         Top := j*18 + 10;
         Autosize := true;
         Cursor := crHandPoint;
         Hint := ' ';
         OnClick := Imageladen;
         OnMouseMove := ShowHint2;
         Nr := Feld;
        end;
      inc(Feld);
    end;
 end;
end;
Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:17
@ fkerber : Bei deiner Lösung gibt es die gleiche Meldung
Wie muss ich das Array initialisieren ?

@ Luckie : Kannst du mir bitte ein Beispiel geben ... ich weis nämlich nicht wie man die
Länge eines Arrays setzt.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: Zugriffsverletzung bei Inc()

  Alt 26. Sep 2004, 17:33
Hi!

ich vermute mal, dein Array ist zu klein definiert.
Probier es mal so:

Delphi-Quellcode:
var
  Form1: TForm1;
  Spielfeld : Array[0..832] of TSpielfeld;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i,j,feld : Integer;
begin
feld:=0;
for i := 0 to 25 do
 begin
   for j := 0 to 31 do
    begin
      Spielfeld[Feld] := TSpielfeld.Create(Self);
      with Spielfeld[Feld] do
        begin
         Parent := Form1;
         Left := i*38 + 20;
         Top := j*18 + 10;
         Autosize := true;
         Cursor := crHandPoint;
         Hint := ' ';
         OnClick := Imageladen;
         OnMouseMove := ShowHint2;
         Nr := Feld;
        end;
      inc(Feld);
    end;
 end;
end;
Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 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