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 for' then 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.