Jump to content


Photo

[RESUELTO] Problema en la función SetLength()


  • Please log in to reply
2 replies to this topic

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 29 November 2011 - 10:30 AM

Tengo un problema al intentar asignar la cantidad de elementos en un array dinámico.

Primero asigno 2 elementos a un arreglo llamado comprobante



delphi
  1. SetLength(comprobante, 2);



Posteriormente necesito crear otro arreglo dinámico (Mercancias) dentro del Arreglo Comprobante



delphi
  1. SetLength(comprobante[i].Mercancias, 3);



Hasta aquí todo va bien, pero al compilar me muestra éste error:

[DCC Error] Uprueba.pas(197): E2197 Constant object cannot be passed as var parameter.


¿ Alguien sabe porque no puedo asignar de esa forma los elementos para el arreglo dentro de otro arreglo ?

Saludos y gracias
  • 0

#2 vvalladolid

vvalladolid

    Advanced Member

  • Miembros
  • PipPipPip
  • 90 posts
  • LocationMéxico

Posted 29 November 2011 - 10:57 AM

Que onda ing.

Checar esta pagina http://www.delphibas....asp?Name=Array


  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 29 November 2011 - 11:14 AM

Que onda ing.

Checar esta pagina http://www.delphibas....asp?Name=Array


Que onda Vic, que milagro que te apareces :D

Pues ya encontre mi error, lo que tenia que hacer era crear una variable y después asignarla al arreglo, si que soy medio wey para estos menesteres jajajajjaa



delphi
  1. var
  2.   ArregloMerc: Array_Of_Mercancia;
  3.  
  4. begin
  5.     SetLength(ArregloMerc,3);
  6.     for j := 0 to 2 do
  7.     begin
  8.       ArregloMerc[j] := Mercancia.Create;
  9.       // Se agregan los valores a los campos del arreglo.
  10.     end;
  11.     comprobante[i].mercancias := ArregloMerc;
  12. end;



Gracias por el enlace :)

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.