Autor |
Mensaje |
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
El siguiente ejemplo muestra que escribiendo de mala manera en la memoria.......
última edición por vuott el Lunes, 24 Octobre 2016, 12:47; editado 3 veces
|
#1 Lunes, 24 Octobre 2016, 12:45 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
Vuott:
Estas poseido por el mal.... C y sus punteros !!!!
|
#2 Lunes, 24 Octobre 2016, 13:05 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
Estas poseido por el mal.... C y sus punteros !!!!
Lo importante es no estar poseido por...... serpientesss !
|
#3 Lunes, 24 Octobre 2016, 14:25 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
No entendí porqué pasó eso.
Es porqué VarPtr no se debe usar con Strings y porqué st se definió antes de bb????
Saludos.
|
#4 Lunes, 24 Octobre 2016, 15:57 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
No entendí porqué pasó eso.
Todas las respuestas a los misterios del Universo Mundo están aquí:
https://foro.gambas-es.org/viewtopic.php?f=1&t=5888
|
#5 Lunes, 24 Octobre 2016, 16:10 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
Bueno, para los que no comprendieron, vamos a ver este otro codigo muy similar al anterior:
En console podemos ver:
3 <------- Este numero es el resultado de bb.Max
0 61 a
1 61 a
2 61 a
3 61 a
4 00 ^@
5 53 S
6 74 t
7 72 r
8 65 e
9 61 a
10 6D m
11 00 ^@
12 42 B
13 79 y
14 74 t
15 65 e
16 5B [
17 5D ]
18 00 ^@
19 4D M ' Antes de la modificación
20 61 a ' Antes de la modificación
21 78 x ' Antes de la modificación
22 00 ^@
23 43 C
24 6C l
25 6F o
26 73 s
27 65 e
28 00 ^@
29 40 @
30 69 i
31 6E n
32 69 i
33 74 t
34 00 ^@
35 40 @
36 6E n
37 65 e
38 77 w
39 00 ^@
40 73 s
41 00 ^@
42 69 i
43 00 ^@
44 70 p
45 00 ^@
46 73 s
47 74 t
48 00 ^@
49 62 b
50 62 b
51 00 ^@
52 00 ^@
53 00 ^@
54 00 ^@
55 00 ^@
0 61 a
1 61 a
2 61 a
3 61 a
4 00 ^@
5 53 S
6 74 t
7 72 r
8 65 e
9 61 a
10 6D m
11 00 ^@
12 42 B
13 79 y
14 74 t
15 65 e
16 5B [
17 5D ]
18 00 ^@
19 44 D ' es el resultado de: Write #st, 68 As Byte
20 69 i ' es el resultado de: Write #st, 105 As Byte
21 6D m ' es el resultado de: Write #st, 109 As Byte
22 00 ^@
23 43 C
24 6C l
25 6F o
26 73 s
27 65 e
28 00 ^@
29 40 @
30 69 i
31 6E n
32 69 i
33 74 t
34 00 ^@
35 40 @
36 6E n
37 65 e
38 77 w
39 00 ^@
40 73 s
41 00 ^@
42 69 i
43 00 ^@
44 70 p
45 00 ^@
46 73 s
47 74 t
48 00 ^@
49 62 b
50 62 b
51 00 ^@
52 00 ^@
53 00 ^@
54 00 ^@
55 00 ^@
1 <------- Este numero es el "nuevo" resultado de bb.Max
1 <------- Este numero es el resultado de bb.Dim
Usando un Puntero a una variable de tipo String (y solo con este tipo), es posible penetrar en el área de memoria del Modulo y cambiar con Memory Stream la propiedad (o un Metodo) de un objeto) al mutar el nombre de una originaria propiedad (o de un originario Metodo).
Muy bien, ahora vamos a probar este otro codigo:
...que ocurre ?
última edición por vuott el Martes, 25 Octobre 2016, 11:57; editado 2 veces
|
#6 Martes, 25 Octobre 2016, 08:31 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
Necesito un café...
=================== No podemos regresar
|
#7 Martes, 25 Octobre 2016, 09:57 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
Gracias por las explicaciones de punteros.
Pero, qué tipo de aplicaciones podría tener ete tipo de artilugio?
Saludos.
|
#8 Martes, 25 Octobre 2016, 16:16 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
... qué tipo de aplicaciones podría tener ete tipo de artilugio?
En gambas - habitualmente - las variables de tipo Punteros se usan especialmente (pero no solo) con las librerias externas escritas en C o C++. Eso, porqué - como sabes - el lenguaje C hace gran empleo de los Punteros .
Saludos
|
#9 Martes, 25 Octobre 2016, 17:18 |
|
|
razaAztk
aztk crux
Analista Programador
Registrado: Enero 2010
Mensajes: 340
Edad: 35 Ubicación: Tenochtitlan
|
Re: Alterar Una Propiedad O Un Método De Un Objeto Modificando La Denominación.
... qué tipo de aplicaciones podría tener ete tipo de artilugio?
En gambas - habitualmente - las variables de tipo Punteros se usan especialmente (pero no solo) con las librerias externas escritas en C o C++. Eso, porqué - como sabes - el lenguaje C hace gran empleo de los Punteros .
Saludos
Sé de la importancia de los punteros. Me refería a que tipo de aplicaciones tendría el uso del código de ejemplo que pusiste al principio del hilo.
Saludos.
|
#10 Martes, 25 Octobre 2016, 21:55 |
|
|
|