Ver Mensaje Individual
  #2  
Antiguo 14-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

El problema se debe a que tenés una confusión entre el concepto de array dinámico y el de vectores abiertos.

Un array dinámico es un tipo de datos y se tiene que declarar como tál, es un verdadero arreglo. En cambio un vector abierto es sólo una manera de pasar argumentos a un procedimiento o función.

Para ejemplificar lo que te comento:
Código Delphi [-]
...
type
  TArrayInteger = array of Integer;

procedure Test1(Vec: TArrayInteger);
begin
  SetLength(Vec,10);
  SetLength(Vec,0);
end;

procedure Test2(Vec : array of Integer);
begin
  SetLength(Vec,10);  // error no se le puede asignar tamaño
  SetLength(Vec,0);   //  idem
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  V: TArrayInteger;
begin
  Test1(V);    // el argumento es un array dinámico
  Test2([1,2,3,4]); // el argumento es un array abierto
end;
...
Ejemplo de uso de un array abierto
Código Delphi [-]
...
procedure CerrarDataSets(VDataset: array of TDataSet);
var
  i: Integer;
begin
  for i:= Low(VDataSet) to High(VDataSet) do
    TDataSet(VDataSet[i]).Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   CerrarDataSets([DataSet1, DataSet2, DataSet3,...]);
end;
...

Es decir que tu código inicial debería ser algo como:
Código Delphi [-]
Type
  VDinamico = array of Integer;
  TClaseCualquiera = Class
    private
      UnArrayDinamico : VDinamico;
      OtroArrayDinamico : VDinamico;
    published
      constructor Create;
      procedure LimpiarArray(var MiArray: VDinamico);
    end;

Espero me haya explicado bíen.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 14-10-2011 a las 00:40:09.
Responder Con Cita