Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 14-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Paso de Array Dinamico a Procedimiento por Referencia. eLYaN OOP 7 08-11-2008 23:40:39
Paso de Array entre Clases juangiron OOP 13 02-05-2007 12:01:07
Paso de Array en variable $_POST mieltxo PHP 4 16-06-2005 08:22:51
Paso de parametros Delphos Varios 4 18-01-2005 15:32:07
Paso de parametros senpiterno Varios 1 11-04-2004 03:44:17


La franja horaria es GMT +2. Ahora son las 15:24:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi