2012-06-04 13 views
6

Ich frage mich, wenn jemand eine elegante Weise kennt die Bestimmung, was BPLs von einem gegebenen erforderlich sind (kompiliert) DLL, EXE oder BPL.Get Liste der erforderlichen BPLs für eine bestimmte DLL, EXE oder BPL

bin ich nicht sicher, ob dies überhaupt möglich für Text Verweise auf .bpl Dateinamen scheut einfaches Scannen des binären ist (, die auf mögliche falsch-positive anfällig wäre).

Im Idealfall würde Ich mag eine TStringList oder sogar die Namen aller eine durch Kommata getrennte String zurückzukehren enthalten .bpl Dateien erforderlich.

+0

http: // www. peganza.com/#PAL macht diese Art von Sache auf Quelle, aber ich denke nicht, dass es .exe, etc. liest. Sie könnten jedoch überprüfen. – RobertFrank

+0

Nicht einmal die IDE tut dies zuverlässig oder wir würden nicht "Kann X.BPL nicht laden" bekommen, wenn Y.BPL bereits implizit die BPL im Hintergrund geladen hat, ohne dass die IDE irgendeinen Hinweis darauf hat, dass diese Sache geladen wird. Ich würde das auch gerne wissen. –

+2

"DUMPBIN/Imports" kann es absolut zuverlässig machen, also ist es durchaus möglich. Die Rückführung der Ausgabe in Ihr Programm entspricht jedoch nicht Ihrem Kriterium der Eleganz. – frogb

Antwort

2

Für Pakete können Sie den Requirements-Bereich der PACKAGEINFO-Ressource verwenden - siehe TJclPePackageInfo.

+0

Das funktioniert relativ gut für kompilierte BPLs ... Ich hatte gehofft, jemand würde von einer * ähnlichen * Lösung für DLLs und EXEs wissen, aber anscheinend nicht. – LaKraven

+0

Ich werde deine Antwort akzeptieren, da es mich zumindest teilweise dorthin bringt. – LaKraven

0

GExperts 'PE Informationstool zeigt die Liste der bpls und DLLs, die implizit in jede EXE geladen, .dll oder .bpl