Registriert seit: 22. Okt 2004
359 Beiträge
|
Re: Destruktor löst Exception aus
25. Apr 2006, 19:45
Außerdem musste Du alle Klasseninstanzen, die Du im Konstruktor und anderswo erstellst, im Destruktor wieder freigeben; konkret meine ich die TPort-Instanzen in Deinem Port-Array, die Du hier erstellst :
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;
Edit: Und Du solltest, wie Hawkeye219 schon schreibt, die for-Schleife so schreiben:
for I := 0 to n - 1 do
|
|
Zitat
|