Einzelnen Beitrag anzeigen

Benutzerbild von wjjw
wjjw

Registriert seit: 3. Aug 2017
Ort: Wiener Neustadt, Österreich
75 Beiträge
 
Delphi 12 Athens
 
#1

Exception bei Freigabe (Android+iOS)

  Alt 18. Dez 2023, 16:13
Hallo,
hab ein Problem bei der Objektfreigabe auf mobilen Platformen (Delphi 12).
Wenn ich in einem (dynamischen) Array visuelle Komponenten freigeben will, bekomme ich "manchmal" eine Exception (welche ich auch nicht abfangen kann).
Auf Android weniger oft wie auf iOS.
Hat jemand eine Idee?

Hier mein Code:
Code:
var ar: Array of TRectangle;

procedure TForm1.Aufbau(Sender: TObject);
var i, anz, newanz: Integer;
    r: TRectangle;
begin
   try
      anz := Length(ar);
      newanz := Random(50) + 1;
      if (newanz < anz) then
      begin
         for i := anz downto newanz + 1 do
         begin
            ar[i - 1].Free; // Hier Exception!?
         end;
         SetLength(ar, newanz);
      end else
      if (newanz > anz) then
      begin
         SetLength(ar, newanz);
         for i := anz + 1 to newanz do
         begin
            r := TRectangle.Create(GridLayout1);
            r.Parent := GridLayout1;
            r.OnClick := Aufbau;
            ar[i - 1] := r;
         end;
      end;
      for i := 0 to newanz - 1 do
      begin
         ar[i].Fill.Color := $FF000000 + Random($FFFFFF);
      end;
   except on E: Exception do
      // wird nicht aufgerufen!
   end;
end;
Werner Weiß
--
Werner
  Mit Zitat antworten Zitat