Einzelnen Beitrag anzeigen

Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#3

Re: Destruktor löst Exception aus

  Alt 25. Apr 2006, 18: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
  Mit Zitat antworten Zitat