Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: Unbenutzte Improrts finden?

  Alt 22. Mär 2010, 12:48
Zitat von mjustin:
Der Uses Cleaner Wizard aus den cnWizards ist direkt in die IDE integriert, und kann z.B. Units mit initialization automatisch ausfiltern.
Nja, es gibt auch Beispiele, wo soeine Unit dennoch nicht nötig ist.

Hier hat man z.B. einen Initialization-Block, aber ohne Verwendung von NutzeObjekt wäre das Objekt nicht nötig und die ganze Unit könnte entfallen.
Delphi-Quellcode:
unit MyUnit;

interface
  function NutzeObjekt: String;

implementation
  var Objekt: TStrings;

  function NutzeObjekt: String;
  begin
    Result := Objekt.Text;
  end;

  procedure ErstelleObjekt;
  begin
    Objekt := TStringList.Create;
    Objekt.Text := Irgendwas;
  end;

  procedure LöscheObjekt;
  begin
    Objekt.Free;
  end;

initialization
  ErstelleObjekt;

finalization
  LöscheObjekt;

end.
Bei sowas würde mir ein Sprachkonstrukt gefallen, wo man sagen könnte wann etwas einkompiliert(gelinkt werden soll.

z.B.:
Delphi-Quellcode:
initialization
  {$IFUSED 'NutzeObjekt'}
    ErstelleObjekt;
  {$ENDIF}

finalization
  {$IFUSED 'NutzeObjekt'}
    LöscheObjekt;
  {$ENDIF}

end.
Somit könnte der Compiler/Linker erkennen daß nichts in Initialization und Finalization gemacht wird und würde somit nicht einbinden müssen, bzw. nur eine leere Unit, welche er ja eh wegläßt.
$2B or not $2B
  Mit Zitat antworten Zitat