Delphi & # 8220; E2161 Error: RLINK32: Error al abrir el archivo ________. Drf & # 8221; durante Build All

StackOverflow https://stackoverflow.com/questions/1215289

Pregunta

Estoy tratando de resolver un problema con un conjunto de paquetes que aparentemente tiene problemas de dependencia . Ocasionalmente durante un Build All, aparece este error:

Delphi " Error E2161: RLINK32: Error al abrir el archivo ________. drf "

¿Qué significa / indica, y qué es un "drf"? archivo?

¿Fue útil?

Solución 2

Parece que este resultó ser el principal problema / solución.

Abra todos los paquetes para los que tiene código fuente y especifique la opción de compilación: 'Reconstruir explícitamente' en lugar de 'Reconstruir cuando sea necesario'.

Otros consejos

Además del Resolver el problema 'no puede encontrar el archivo drf' al compilar paquetes artículo, también me encontré con informe de errores de Delphi # 44134 , en que un comentarista menciona que el problema surge de tener sus archivos .dpk en el mismo directorio que sus archivos .pas cuando ese mismo directorio está en la ruta de la biblioteca y "reconstruir según sea necesario" está habilitado.

Por lo tanto, tiene tres opciones para solucionar este problema:

  • Apague "reconstruir según sea necesario". Esta parece ser la solución más común.
  • Coloque los archivos de su paquete ( * .dpk , * .dproj ) en un directorio separado y luego reinstale los paquetes. He hecho esto con éxito.
  • Elimine el directorio que contiene sus archivos .dpk y .pas de la ruta de la biblioteca. Tenga en cuenta que Delphi lo agregará nuevamente en ciertas circunstancias, incluso cuando instale / reinstale su paquete.

De http://www.delphifaq.com/faq/delphi/ delphi_ide / f157.shtml :

  

Cuando compila con paquetes, usted   puede especificar qué paquetes deben ser   considerado para vinculación. El paquete   los requisitos del proyecto se almacenan   en un archivo temporal de recursos de Windows   con una extensión .DRF.

Cualquiera que sea el archivo con los muchos guiones bajos, el enlazador probablemente lo esté buscando en lo que cree que es el directorio temporal (puede confirmarlo usando filemon ). La explicación en DelphiFaq, donde un% TEMP% mal definido es el culpable, es tan probable como cualquier otra razón.

Hmm ... nunca escuché de ellos. Acabo de buscar el proyecto que inspiró la pregunta a la que se vinculó, y no hay nada allí con un "DRF". extensión. Verificar aquí no muestra nada relacionado con Delphi. Pero el hecho de que sea un error del vinculador, no un error del compilador, me llevaría a adivinar que las dos primeras letras representan "Delphi Resource".

Intente una búsqueda a través del árbol de directorios de su proyecto y vea si puede encontrar algo con una extensión DRF. Si es así, intente abrirlo con un editor de texto para ver si es legible, y si no, pruebe con un editor hexadecimal si sabe algo sobre la lectura de formatos de archivos binarios. Vea si puede entenderlo.

Si no encuentra ninguno, entonces Delphi probablemente lo obtenga de alguna parte del código que está compilando. Intente ejecutar una búsqueda grep para "DRF" en su árbol de directorios y vea si aparece algo.

A veces el problema eran los permisos de acceso a archivos.

Se ejecutó una solución alternativa de Delphi como administrador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top