Ver Mensaje Individual
  #9  
Antiguo 30-05-2005
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 22
sitrico Va por buen camino
Agrego algo a la respuesta

Cita:
Empezado por maeyanes
Es por la optimización de código del compilador... por alguna razón el compilador detecta que ese código núnca se ejecuta (por ejemplo, puede ser un if..then con una condición que nunca se cumple) y lo elimina del ejecutable final.
Fijate en el ejemplo:

Código Delphi [-]
Function UnaCosa(p:Integer):Integer;

Var
i : Integer;
Begin
// Valor por defecto
i := 0;
// Evaluar Función
If p > 8 Then
   i := 100
Else
   i := 200;
Result := i;
End;

Te pregunto ¿ en que caso el resultado de la función será 0 ? (el valor por defecto)

En ningun caso el resultado será 0, porque si el p>8 el resultado es 100 y sino es 200.

El compilador Delphi es lo bastante "inteligente" para detectar la asignación innecesaria y por ello ignora la(s) líneas que no tienen ningun efecto sobre la ejecución del programa.

Las líneas que presenten ese error pueden ser borradas ó convertidas en comentaríos (en la mayoría de los casos) sin ningun problema.
__________________
Sitrico
Responder Con Cita