Ver Mensaje Individual
  #9  
Antiguo 28-01-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Mendizabal Ver Mensaje
En su declaración no vas a poder inicializarla.
Creo que es responsable desmentir lo anterior. Sí es posible inicializar una variable record, sólo que es menester expresar el nombre de los campos:
Código Delphi [-]
Var
  R1 :TRect = (Left : 0; Top : 0; Right :0; Bottom : 0);
Incluso puede ser inicializada sólo una parte:
Código Delphi [-]
Var
  R2 :TRect = (Top : 10; Bottom : 100);
En cualquier caso, la mención de los campos debe ser en el mismo orden de su declaración, de lo contrario el compilador reportará un error.

Conviene añadir que, como cualquier otra inicialización de variable en su declaración, ésta no puede ser local. Por otra parte, una inicialización en ceros es innecesaria, ya que todas las variables globales y sus campos están en blanco (0, Nil, '', ...) al comenzar la ejecución. Quizá a esto último se refiere Mendizabal, cuando dice:
Cita:
Empezado por Mendizabal Ver Mensaje
Eso no tiene mucha sentido
Finalmente, decir que las variables globales suelen portar muchos estigmas (casi siempre producto de dogmas), pero no tiene nada de malo usarlas cuando existe una razonable justificación.

Un saludo.
Responder Con Cita