Cita:
Empezado por Al González
Cabe recordar que el compilador NO incluye todas las funciones de una unidad referida a través de un Uses, sólo las que el programa utilice (algo que hace todo buen compilador, Delphi no es Cuic Basic  ).
Un abrazo.
Al.
|
Algo de eso había leido en algún lado, no recuerdo bien si fue en la Cara Oculta o si fue algún comentario en los foros, muy posiblemente tuyo.
Si tengo un vago recuerdo de que mientras tengamos units en el uses el compilador las "explora"... ¿a eso te refieres cuando dices esto?:
Cita:
Empezado por Al González
Habría que revisar a detalle el programa y los fuentes de Delphi 3 (hace como siete años que no lo uso), pero muy probablemente se debe a que la unidad SysUtils lleva a cabo código de inicialización, en la SysUtils.pas de Delphi 7 dicho código es:
Código Delphi [-]initialization if ModuleIsCpp then HexDisplayPrefix := '0x';
InitExceptions;
{$IFDEF LINUX} SafeCallErrorProc := @SafeCallError; ExitProcessProc := PropagateSignals; CheckLocale; {$ENDIF} {$IFDEF MSWINDOWS} InitPlatformId; InitDriveSpacePtr; {$ENDIF} GetFormatSettings; { Win implementation uses platform id }
Debe considerarse que siempre será compilado el código de inicialización que tengan todas las unidades referidas a través de cláusulas Uses.
Saludos.
Al.
|
Pero, si no me falla la memoria, el compilador sólo lo hace sobre aquellas units que han sido cambiadas. Esto es el comportamiento por defecto y es el que se realiza mientras uno Compile. Tengo entendido que si uno realiza Build obliga a recompilar todo.
¿Esto es así?
Saludos,