Hallo ihr,
ich programmiere in Delphi 2007 und habe da heute ein extrem komisches Phänomen festgestellt.
Hier nun erstmal der Quellcode
oben in der Klassendeklaration:
private abstaendeHorizontal : array[0..10] of array[0..1] of integer
Delphi-Quellcode:
procedure TEinwirkungenSkizze.zeichneHorizontaleBemassung;
var
x: integer;
vertauscht: boolean;
sortiertesArray: array[0..10] of array[0..1] of integer;
temp: array[0..1] of integer;
positionY: integer;
positionX: integer;
anzahlBemassungen: integer;
bla :integer;
begin
// zeichnet die masslinien die horizontal verlaufen
//zuerst array sortieren
// array[laufendeNUmmer][0]= wert
// array[laufendeNUmmer][1]=was fuer eine bemassung
vertauscht := false;
anzahlBemassungen:=0;
bla:=0;
for x := 0 to length(abstaendeHorizontal) do begin
sortiertesArray[x][0] := abstaendeHorizontal[x][0];
sortiertesArray[x][1] := abstaendeHorizontal[x][1];
if (sortiertesArray[x][0] <> 0) then begin
anzahlBemassungen := anzahlBemassungen + 1;
// inc(bla);
end;
end;
repeat
vertauscht :=false;
for x := 0 to length(sortiertesArray)-1 do begin
if(sortiertesArray[x][0] > sortiertesArray[x+1][0]) then begin
vertauscht:=true;
temp[0]:=sortiertesArray[x][0];
temp[1]:=sortiertesArray[x][1];
sortiertesArray[x][0]:=sortiertesArray[x+1][0];
sortiertesArray[x][1]:=sortiertesArray[x+1][1];
sortiertesArray[x+1][0]:=temp[0];
sortiertesArray[x+1][1]:=temp[1];
end;
end;
until (vertauscht=false);
// bemasungslinien zeichenn
positionY := breiteGrundriss + ABSTAND_BEMASSUNG_ZU_ZEICHNUNG;
positionX := STARTPUNKT_X - (schnabelLaenge - FA_3);
adapter.moveTo(positionX, positionY);
//linie bis ganz nach unten ziehen
adapter.lineTo(positionX, (positionY + (ABSTAND_ZWISCHEN_BEMASSUNG * anzahlBemassungen)));
end;
So wenn mann nun bei der letzten Zeile:
adapter.lineTo(positionX, (positionY + (ABSTAND_ZWISCHEN_BEMASSUNG * anzahlBemassungen)));
einen Haltepunkt setzt hat bla einen Wert von 25700. Bevor ich das bla da einegfügt habe hatte anzahlBemassungen diesen Wert. Wenn ich bla auf Klassenebene deklariere dann hat ebenfalls anzahlBemassungen den Wert 25700.
Habt ihr eine Idee was da falsch ist?