Einzelnen Beitrag anzeigen

fishbrain

Registriert seit: 17. Sep 2007
Ort: Regensburg
132 Beiträge
 
#1

Problem mit for-to schleife

  Alt 7. Aug 2008, 16:43
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...
  Mit Zitat antworten Zitat