Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
cosa extraña con byval
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  3 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Hugo Gsell  
View profile   Translate to Translated (View Original)
 More options Nov 8, 11:53 am
Newsgroups: microsoft.public.es.dotnet.vb
From: Hugo Gsell <hags...@hotmail.com>
Date: Sun, 08 Nov 2009 13:53:14 -0300
Local: Sun, Nov 8 2009 11:53 am
Subject: cosa extraña con byval
tengo una clase con una estructura de datos defdatDatos
luego una función para grabar datos GrabaDatos que recibe como ByVal
una variable tipo defdatDatos

en la llamada a la funcion tengo una variable K tipo defdatDatos donde
esta clase tiene un dato ID que cuando llamo a GrabaDatos va con 0 (cero)
Internamente se calcula un nuevo ID y se lo asigna al nombre local de la
funcion GrabaDatos... cuando vuelve de la llamada k.id TIENE EL VALOR
QUE MODIFIQUE en GrabaDatos!!!!!!!!!!!1
Como si fuera que esta como byref.....
Utilizo visual basic .net 2008

Ya revisé todo.... no se que hacer....
igual lo puedo solucionar... es mas.... es el comportamiento que deseo y
justamente cuando voy a la función para ver/ponerle el byref veo que
esta con byval pero se comporta como byref

Hugo


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alberto Poblacion  
View profile   Translate to Translated (View Original)
 More options Nov 8, 12:59 pm
Newsgroups: microsoft.public.es.dotnet.vb
From: "Alberto Poblacion" <earthling-quitaestoparacontes...@poblacion.org>
Date: Sun, 8 Nov 2009 18:59:35 +0100
Local: Sun, Nov 8 2009 12:59 pm
Subject: Re: cosa extraña con byval
"Hugo Gsell" <hags...@hotmail.com> wrote in message

news:ug%23yBQJYKHA.220@TK2MSFTNGP02.phx.gbl...

> ... cuando vuelve de la llamada k.id TIENE EL VALOR QUE MODIFIQUE en
> GrabaDatos!!!!!!!!!!!1
> Como si fuera que esta como byref.....

     Lo que acabas de llamar "estructura defdatDatos", en realidad lo tienes
definido como una Clase, y no como una estructura, ¿verdad?
     En ese caso, se compila como un objeto tipo-referencia, no como un
objeto tipo-valor. Eso significa que tu "variable" no tiene los datos, sino
una referencia al lugar donde realmente se encuentran los datos (el "heap").
     Cuando una variable tipo-referencia la pasas con ByVal, lo que pasas es
el "valor de la referencia" (y si pones ByRef se pasa una "referencia a la
referencia"). En otras palabras, el ByVal pasa una copia del valor de la
variable, que es una copia del puntero que apunta al area de datos. Si
cambias los datos a través de la copia del puntero, queda cambiada la única
copia de esos datos que existía en memoria (en el heap), y por tanto se ven
cambiados esos datos a través del puntero original (cuya copia pasaste con
ByVal).
    Lo único que hace el ByVal es que si cambias el propio puntero dentro de
la subrutina (haciendolo apuntar a otro sitio), entonces no se ve afectado
el puntero original que pasaste, que seguiría apuntando al mismo sitio.

    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Hugo Gsell  
View profile   Translate to Translated (View Original)
 More options Nov 9, 11:13 am
Newsgroups: microsoft.public.es.dotnet.vb
From: Hugo Gsell <hags...@hotmail.com>
Date: Mon, 09 Nov 2009 13:13:57 -0300
Local: Mon, Nov 9 2009 11:13 am
Subject: Re: cosa extraña con byval
gracias... la verdad que despues de tanto tiempo y no tenía claro eso...
QUE BARBAIDAD!!!

Hugo

El 08/11/2009 14:59, Alberto Poblacion escribió:


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google