Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
Delphi 2010 Professional
|
Re: Destruktor löst Exception aus
25. Apr 2006, 19:37
Hallo,
die Variablen FInputPorts und FOutputPorts sind dynamische Arrays, deren Elements die Nummern 0..n-1 tragen.
Du benutzt aber die Elemente 1..n und überschreibst damit den Speicher hinter den Arrays:
Delphi-Quellcode:
for I:=1 to n do
FInputPorts[I]:=TPort.Create(Compute,1,Rect(
ini.ReadInteger(CN,'Input'+inttostr(I)+'Left',0),
ini.ReadInteger(CN,'Input'+inttostr(I)+'Top',0),
ini.ReadInteger(CN,'Input'+inttostr(I)+'Right',0),
ini.ReadInteger(CN,'Input'+inttostr(I)+'Bottom',0)));
n:=ini.ReadInteger(CN,'OutputPorts',0);
setlength(FOutputPorts,n);
for I:=1 to n do
FOutputPorts[I]:=TPort.Create(Compute,1,Rect(
ini.ReadInteger(CN,'Output'+inttostr(I)+'Left',0),
ini.ReadInteger(CN,'Output'+inttostr(I)+'Top',0),
ini.ReadInteger(CN,'Output'+inttostr(I)+'Right',0),
ini.ReadInteger(CN,'Output'+inttostr(I)+'Bottom',0)));
end;
Gruß Hawkeye
|
|
Zitat
|