Ver Mensaje Individual
  #1  
Antiguo 14-10-2011
ManiacPC ManiacPC is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 14
Reputación: 0
ManiacPC Va por buen camino
Question Un array loco por paso de parámetros de referencia

Buenas,

Me he topado con lo siguiente en mi programación... Busqué y tiene algo que ver con los arrays dinámicos, pero estoy algo enredado
Trataré de explicar la situación a ver si a alguien le ha ocurrido:

1) Tengo una clase

Código Delphi [-]
Type
  TClaseCualquiera = Class
    private
      UnArrayDinamico : Array Of Integer;
      OtroArrayDinamico : Array Of Integer;
    published
      constructor Create;
      procedure LimpiarArray(var MiArray: Array of Integer);
    end;

2) Quiero usar un array dinámico que guarde datos enteros (en este caso, p.ej: UnArrayDinamico y OtroArrayDinamico), y resetearlo a 0 cada vez que sea necesario... Por ende, limpiar el array
por lo que usé la función LimpiarArray que es una que encontré en el mismo foro de ClubDelphi


Código Delphi [-]
{procedimiento para limpiar un array por referencia}
procedure TClaseCualquiera.LimpiarArray(var MiArray: Array Of Integer);
Var
  x: Byte;
Begin
   SetLength(MiArray,10);  //redimencionas el arreglo a tamaño 10
   for x:=0 to High(MiArray) do
    MiArray[x]:=x;
   {...}
    SetLength(MiArray,0);//redimencionas el arreglo a tamaño 0
End;

3) El error, va en el SetLength (¿raro no?), dice explícitamente:
[DCC Error] E2008 Incompatible types

Justo en la línea de:
Código Delphi [-]
   SetLength(MiArray,10);  //redimencionas el arreglo a tamaño 10

Y en todas las que tengan el SetLength...
¿Alguna idea?
Leí estos sitios, pero estoy algo enredado :S
http://rvelthuis.de/articles/articles-openarr.html
http://stackoverflow.com/questions/1...ray-of-tobject

Un cálido saludo
Un seguidor de hace años de ClubDelphi
Enrique P.
Responder Con Cita