Ver Mensaje Individual
  #8  
Antiguo 08-11-2008
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: 29
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
¡Hola a todos!

Un par de cosas:

No es necesario llamar al procedimiento SetLength con una longitud de 0 cuando la variable de arreglo dinámico todavía no tiene asignación de memoria alguna. Aunque se trate de variables locales, Delphi inicializa en ceros / Nil todas las variables que usan contadores de referencia, como es el caso de las cadenas largas y los arreglos dinámicos.

Por otra parte, también podría definirse la rutina del ejemplo a manera de función en lugar de procedimiento:
Código Delphi [-]
Function TForm1.MiFuncion :TRegArray;
Begin
  SetLength (Result, 2);  //2 registros
  Result [0].X := '0';
  Result [1].X := '1';
End;

procedure TForm1.Button1Click(Sender: TObject);
Var
  Reg :TRegArray;
begin
  Reg := MiFuncion;
  ShowMessage (Reg [0].X + ', ' + Reg [1].X);
end;

Saludos.

Al González.
Responder Con Cita