Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit for-to schleife (https://www.delphipraxis.net/118429-problem-mit-schleife.html)

fishbrain 7. Aug 2008 15:43


Problem mit for-to schleife
 
Hi,

ich hab mal wieder ein Problem:
Delphi-Quellcode:
  for I := 0 to 50 - 1 do
    begin
      for k := 0 to 50 - 1 do
        begin
          for l := 0 to 200 do
            begin
              I2HSynapses[i,k,l].FromNeuron := INeurons[i,k];
              I2HSynapses[i,k,l].ToNeuron := HNeurons[l];
              INeurons[i,k].Synapses[l] := I2HSynapses[i,k,l]; //Fehlerzeile
              INeurons[i,k].CNeurons[l] := HNeurons[l];
            end;
        end;
    end;
Fehler : EAccesviolation : Zugriffsverletzung bei Adresse...

Wenn ich Anhalten drücke, steht bei lokale variablen l = 1309176. I und K sind im gewollten bereich aber immer unterschiedlich.
Ich hab vorsichtshabler i,l,k davor auf Null gesetzt. Hilft auch nix. Ich bin relativ ratlos weil l ja eingentlich nicht größer als 200 werden dürfte.

Ich hoffe mir kann jemand helfen. Danke schonmal im Vorraus.

Die klassen wurden Vorher schon created:

Delphi-Quellcode:
  for I := 0 to 50 - 1 do
    begin
      for k := 0 to 50 - 1 do
        begin
          for l := 0 to 201 - 1 do
            begin
              I2HSynapses[i,k,l] := TSynapse.Create;
            end;
        end;
    end;
  for I := 0 to 201 - 1 do
    begin
      for k := 0 to 26 - 1 do
        begin
          H2OSynapses[i,k] := TSynapse.Create;
        end;
    end;
  for I := 0 to 26 - 1 do
    begin
      ONeurons[i] := TNeuron.Create;
    end;
  for I := 0 to 201 - 1 do
    begin
      HNeurons[i] := TNeuron.create;
    end;
  for I := 0 to 50 - 1 do
    begin
      for k := 0 to 50 - 1 do
        begin
          INeurons[i,k] := TNeuron.create;
        end;
    end;
Edit: Habs nun auch mit Turbo Delphi probiert. Selber Fehler nur L ist 1309192...

fishbrain 7. Aug 2008 17:01

Re: Problem mit for-to schleife
 
:wall: :wall: :wall: :wall:
Mal wieder nen array zu klein gemacht.
Tschuldigung das ich euch damit belästigt habe.

sx2008 7. Aug 2008 18:51

Re: Problem mit for-to schleife
 
Zitat:

Zitat von fishbrain
Mal wieder nen array zu klein gemacht.

Definiere doch deine Arraygrössen über Konstanten:
Delphi-Quellcode:
const
MAX_NEURONS = 50;
MAX_CONNECTIONS = 200;
Hartcodierte Zahlen wie in deinem Codeschnippsel sind Pfui.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 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