Pregunta sobre delphi, compiler-errors, delphi-xe – ¿Cómo recompilar las modificaciones al archivo fuente VCL (Menus.pas)?

8

Disponemos de un menu.pas modificado.

A

<code>uses ...,Controls,...;
</code>

El compilador levantó un error fatal:

[DCC Fatal Error] Menus.pas (*): F2051 Unit Controls se compiló con una versión diferente de Menus.TPopupMenu

intentó:

Se eliminaron todos los dcu del proyecto.

construir

construir todo

intentado agregar el archivo a la ruta de la biblioteca, lo que lleva a agregar la carpeta db (también desde vcl) y luego a

[Error DCC] jpeg.pas (872): E2065 Declaración hacia adelante o externa insatisfecha: 'jpeg_save_markers'

que es un callejón sin salida.

se eliminó el controls.dcu (los 3) y el delphi no sabía cómo recompilarlos automáticamente, en su lugar informó que falta el controls.dcu.

Pero lo que estás intentando es perfectamente viable. Hago exactamente esto para solucionar los muchos errores en Menus.pas. David Heffernan
@TLama en Delphi 2009 y xe2 funcionó perfectamente. none
@SertacAkyuz introduje controles.pas y eso llevó a agregar la ruta de búsqueda de db, que produce el E2065. No es la forma de manejar esto. none
¿También puedes traer 'controls.pas'? Sertac Akyuz

Tu respuesta

1   la respuesta
12

Haga una copia del archivo en la estructura de su proyecto. Agregue el archivo a su proyecto o asegúrese de que la ruta de búsqueda encuentre su archivo modificado.Hacer modificaciones, pero solo en la sección de implementación. No puede modificar la sección de la interfaz si utiliza cualquier otra unidad que utilice la unidad que está modificando.Establezca explícitamente las opciones del compilador en la parte superior del archivo fuente modificado. Use las opciones predeterminadas de Delphi, tal como se encuentran presionando CTRL + O O en un proyecto de vainilla predeterminado.

Supongo que uno de los últimos dos puntos es lo que te hace tropezar.

un nuevo procedimiento fue agregado en xe: CloseMenu. none
Bueno, esto es lo que obtuve al presionarCTRL+O O en un proyecto en blanco. No conocía la directiva de compilación predeterminada en un VCL modificado. ¡Gracias! kobik
@David, debo añadir el{$MINSTACKSIZE $00004000}, {$MAXSTACKSIZE $00100000}, {$IMAGEBASE $00400000} por defecto también? o solo el predeterminado$A+,B-,C+,D+,E-,F-,G+,H+,I+,J+,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1} (Delphi 5) - que se genera conCTRL+O O. kobik
@kobik Mis unidades solo tienen{$R-,T-,H+,X+}. Sospecho que mis proyectos compilan opciones alineadas con todas las demás. No se perderá agregar un sitio completo, por ejemplo,{$A+,B-,C+,D+,E-,F-,G+,H+,I+,J+,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-‌​,U-,V+,W-,X+,Y+,Z1}. Pero no necesitas más que eso, creo. David Heffernan

Preguntas relacionadas