elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [resuelto] duda sobre uso de byval y strptr en parametros string
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [resuelto] duda sobre uso de byval y strptr en parametros string  (Leído 3,272 veces)
Arconte

Desconectado Desconectado

Mensajes: 43



Ver Perfil
[resuelto] duda sobre uso de byval y strptr en parametros string
« en: 10 Diciembre 2011, 16:27 pm »

Lo usual es q para las funciones a las q se le pasa cadenas como setwindowtext , su parametro string deberi ir como byval ( byval nuevoTitulo as string) para de esa forma darle la direccion de los datos . Pero tengo entendido q la funcion strptr regresa la direccion de los datos de una var string, entonces si  declaro el parametro  como long (byval nuevoTitulo as long) y al llamar a la api pasandole lo q devuelve strptr  funcionara. Pero no, si hago eso solo se  pone el primer caracter de mi string en la barra de title, pero con la version unicode de la api (setwindowtextW) si funciona; no lo entiendo bien, pero me parece q las cadenas se guardan en unicode y otra copia en ansi, y el byval devuelve el addres a la copia ansi, y strptr devuelve el addres a la copia unicode.  Mi codigo lo ejecute en pc con windows seven ultimate (kizas ese es el problema)


« Última modificación: 10 Diciembre 2011, 21:16 pm por Arconte » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: duda sobre uso de byval y strptr en parametros string
« Respuesta #1 en: 10 Diciembre 2011, 18:29 pm »

Si llamas a una API con as string, le envia un puntero del string en version ANSI, StrPtr te da un puntero en Unicode

Si llamas a la API con ByRef (o sin poner nada) le pasas un puntero del puntero x'D, en cambio con ByVal el mismo visual basic se encarga de enviar un solo Puntero del string


En línea

Arconte

Desconectado Desconectado

Mensajes: 43



Ver Perfil
Re: duda sobre uso de byval y strptr en parametros string
« Respuesta #2 en: 10 Diciembre 2011, 21:12 pm »

Confirmaste mi sospecha, ahora lo entiendo.
Salu2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Intercalar datos ($dato) en String [RESUELTO]
PHP
lord_Sirikon 2 4,747 Último mensaje 16 Marzo 2011, 21:41 pm
por lord_Sirikon
[DUDA] paso por valor o por referencia (byval/ byref)
Programación Visual Basic
AlxSpy 8 4,737 Último mensaje 12 Julio 2011, 15:45 pm
por AlxSpy
[Resuelto]Ayuda con matrices String
Programación C/C++
adan-2994 6 4,030 Último mensaje 3 Diciembre 2011, 03:36 am
por adan-2994
Duda sobre parametros de una función C++
Programación C/C++
Kaxperday 9 3,881 Último mensaje 16 Octubre 2015, 15:06 pm
por ivancea96
Duda: Diferencias entre ByVal y ByRef en vb.net
.NET (C#, VB.NET, ASP)
OscarCadenas_91 2 5,367 Último mensaje 26 Junio 2016, 03:10 am
por OscarCadenas_91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines