AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nicht benötigte Units bereinigen

Ein Thema von horstmeyer · begonnen am 16. Nov 2021 · letzter Beitrag vom 13. Dez 2021
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.753 Beiträge
 
Delphi 12 Athens
 
#1

AW: Nicht benötigte Units bereinigen

  Alt 16. Nov 2021, 11:39
Pascal Analyzer (auch die Lite Version) gibt dazu eine Übersicht. Da wird auch eventueller Implementation Code berücksichtigt - da muss man dann halt reinschauen ob man den braucht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.592 Beiträge
 
Delphi 7 Professional
 
#2

AW: Nicht benötigte Units bereinigen

  Alt 16. Nov 2021, 13:03
Ausführliche MAP-Datei erstellen, alle Zeile, die mit Line numbers for beginnen, raussuchen. Sie enthalten alle Units, aus denen etwas ins Kompilat übernommen wurden.

Sollte für den Anfang eigentlich erstmal ausreichen.

Und wenn ich das bei meinem ollen Delphi 7 richtig sehe, sind Units, die nur Resource-Strings enthalten, auch in der MAP-Datei aufgeführt. Jedenfalls finde ich in den MAP-Dateien von Programmen, die Indy nutzen auch die IdResourceStringsCore.pas, und die enthält (neben Kommentaren) nur Resource-Strings.

Mal eben in PascalScript hingedaddelt:
Delphi-Quellcode:
program Test;

procedure CheckUnits(sFile : String);
var
  i : Integer;
  s : String;
  slMap : TStringList;
  slUnits : TStringList;
begin
  slMap := TStringList.Create;
  slMap.LoadFromFile(sFile);
  slUnits := TStringList.Create;
  for i := 0 to slMap.Count - 1 do begin
    if Copy(slMap[i],1,16) = 'Line numbers forthen begin
      s := Copy(slMap[i],18,1024);
      s := Copy(s,1,Pos('(',s) - 1);
      slUnits.Add(s);
    end;
  end;
  slUnits.Sort;
  sFile := ChangeFileExt(sFile,'.UsedUnits');
  slUnits.SaveToFile(sFile);
  slUnits.Free;
  slMap.Free;
end;

begin
  CheckUnits('Programmname.map');
end.
Sollte so übernommen werden können.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz