2012-06-04 7 views
6

Me pregunto si alguien sabe de un elegante manera de determinar lo que se requieren BPLS por un dado (compilado ) DLL, EXE o BPL.Obtener lista de BPLS necesarios para una DLL dado, EXE o BPL

no estoy seguro si esto es posible incluso tímido de simplemente escaneando el binario para referencias de texto a .bpl nombres de archivo (que serían propensos a posibles falsos positivos).

Idealmente me gustaría devolver un TStringList o incluso una separada por comas String que contiene los nombres de todos los necesarios .bpl archivos.

+0

http: // www. peganza.com/#PAL hace este tipo de cosas en la fuente, pero no creo que lea .exe, etc. Sin embargo, podría verificarlo. – RobertFrank

+0

Ni siquiera el IDE hace un trabajo confiable de esto o no obtendríamos "No se puede cargar X.BPL" cuando Y.BPL ya ha cargado el BPL de manera implícita sin que el IDE tenga ninguna pista de la carga de esa cosa. Realmente me gustaría saber esto también. –

+2

"DUMPBIN/imports" puede hacerlo de manera perfectamente confiable, por lo que es ciertamente posible. Sin embargo, volver a conectar la salida en su programa no cumple con su criterio de elegancia. – frogb

Respuesta

2

Para paquetes, puede usar la sección requiere del recurso PACKAGEINFO - vea TJclPePackageInfo.

+0

Esto funciona relativamente bien para BPLs compilados ... Esperaba que alguien supiera de una * solución * similar para DLL y EXEs, pero aparentemente no. – LaKraven

+0

Aceptaré tu respuesta ya que me lleva al menos parcialmente. – LaKraven

0

GExperts herramienta "PE Información muestra la lista de BPLS y DLL que están implícitos cargado en cualquier .exe, .dll o .bpl

Cuestiones relacionadas