2012-06-04 11 views
6

Zastanawiam się, czy ktoś wie o eleganckim sposób określania co BPLS są wymagane przez daną (skompilowany) DLL, EXE lub BPL.uzyskać listę wymaganych dla danego BPLS DLL, EXE lub BPL

Nie jestem pewien, czy jest to w ogóle możliwe nieśmiały po prostu skanując binarny dla odnośników tekstowych do .bpl nazwach (które byłyby podatne na ewentualne fałszywie dodatnich).

Idealnie chciałbym zwracają TStringList lub nawet oddzielonych przecinkami String zawierający nazwy wszystkich wymaganych .bpl plików.

+0

http: // www. peganza.com/#PAL robi tego rodzaju rzeczy na źródła, ale nie sądzę, że czyta .exe, itp. Możesz jednak sprawdzić. – RobertFrank

+0

Nawet IDE nie wykona niezawodnej pracy lub nie otrzymalibyśmy "Nie można załadować X.BPL", gdy Y.BPL ma już niejawnie tło załadowane tym BPL bez IDE, które ma jakąkolwiek wskazówkę o tym ładowaniu. Naprawdę chciałbym to wiedzieć. –

+2

"DUMPBIN/imports" może zrobić to doskonale niezawodnie, więc jest to z pewnością możliwe. Jednak podłączenie wyjścia z powrotem do twojego programu nie spełnia twojego kryterium elegancji. – frogb

Odpowiedz

2

Dla pakietów można użyć wymaganej sekcji zasobu PACKAGEINFO - patrz TJclPePackageInfo.

+0

To działa stosunkowo dobrze dla skompilowanych BPL ... Miałem nadzieję, że ktoś będzie wiedział o * podobnym * rozwiązaniu dla bibliotek DLL i EXE, ale najwyraźniej nie. – LaKraven

+0

Przyjmuję twoją odpowiedź, ponieważ doprowadza mnie to do końca. – LaKraven

0

GExperts narzędzie "PE Informacja wyświetla listę BPLS i bibliotek DLL, które są ukryte załadowane do .exe, .dll lub .bpl