Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Variable Möglicherweise nicht Deklariert...

  Alt 13. Nov 2023, 09:59
Der Grund für die Warnung erscheint mir Logisch, da für Delphi ja nicht Sichergestellt ist, das die Variable Wirklich Initialisiert ist, von der Logik her jedoch schon, da der Modultyp währenddessen nicht verändert wird.

Bekomme ich die Warnung irgendwie weg?
Vielleicht am Einfachsten diesen Teil ...

// ... Mache was mit dem gewählten Modul

in eine Procecedure auslagern und dann die beiden Case-Statements zusammenfassen, so dass man dort jeweils nur das im Case-Zweig erzeugte Objekt freigibt.

Delphi-Quellcode:
case ... of
  bla: begin
    Var1 := Typ1.Create;
    try
      MachWasMit(Var1);
    finally
      Var1.Disconnect;
      Var2.Free;
    end;
  end;
  blub: begin
    Var2 := Typ2.Create;
    try
      MachWasMit(Var2);
    finally
      Var2.Disconnect;
      Var2.Free;
    end;
  end;
end;
Das setzt natürlich voraus, dass Typ1 und Typ2 einen gemeinsamen Vorfahren haben.
Wobei, wenn das der Fall ist, kann auch nur eine Variable von diesem gemeinsamen Typ verwenden und sich das zweite Case-Statement komplett schenken.
Thomas Mueller
  Mit Zitat antworten Zitat