Páginas (2):    1 2
Shordi   18-03-2025, 17:45
#11
Ok. Ahora sí. Últimamente no doy una a derechas... como decía mi abuela.

El tema es sencillo: Gambas pasa siempre, siempre, pero siempre, oiga, los objetos por referencia. Es decir lo que pasa es la dirección de memoria donde reside el objeto en cuestión. No se pueden pasar por valor porque un objeto puede contener infinidad de propiedades y dependencias de otros objetos que es imposible predecir.
Los Arrays son objetos y, gracias a san Benito, tienen la propiedad .Copy() que devuelve una copia del objeto, no una referencia. Por tanto sólo tienes que cambiar la primera línea en éste código:

Código:
  Pasada = FMain.Paso.Copy() 'Almacenamos en Pasada una copia del array fMain.Paso '
  TextArea1.Text &= "\nCómo queda en el formulario que recibe\n"
  TextArea1.Text &= "--------------------------------------\n"
  For i = 0 To Pasada.Max
    TextArea1.Text &= Pasada[i].Numero & ": " & Pasada[i].Nombre & "\n"
  Next
[Imagen: uHkE2LAl.png]

Saludos

No podemos regresar
Grandamakulo   19-03-2025, 09:49
#12
¡Claro!, ya sabía yo que era algo de fundamento. Perfecto.
¡¡Muchas gracias!!

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
Páginas (2):    1 2
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.