FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Dale de una ves con la segunda pista...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#22
|
||||
|
||||
¿Y bien? ¿Qué ha sido de esto?
Creo saber cómo resolverlo aunque me desconcierta lo del GetMem pues con mi "solución" bastaría cualquier función/método que no altere el valor de X. // Saludos |
#23
|
||||
|
||||
Cita:
Ya lo hice, la segunda pista fue: Tercera pista: Tu mensaje, rgstuamigo, está en otra mitad de la primera pista, la cual aparece, por supuesto, antes de la segunda. |
#24
|
||||
|
||||
Ya suponía yo que en el aviso en sí de la segunda pista estaba la pista. Sólo que a mi no me dice nada ni la primera, ni la segunda, ni la tercera, por lo que supongo que son caminos distintos. La solución que vislumbro consiste sencillamente en acceder al campo privado X. Cosa que es posible si se conoce el código fuente de la clase, que me parece es una de las premisas. Aunque no es una solución elegante y no la usaría en un programa
Agrego: Pensándolo bien, quizá sí esté en el mismo camino pues algo de lo que mencionas sí lo uso. // Saludos |
#25
|
||||
|
||||
Pues coincido con Roman al decir que "consiste sencillamente en acceder al campo privado X". Y aquí se me encendió la lucecita y pregunto:
¿Se ha compilado con información de depuración o sin ella? ¡Zasca! Seguro que no se lo esperaba, maestro González. |
#26
|
||||
|
||||
Cita:
No hay información de depuración porque el programa ha sido compilado para producción, y un campo como X no genera RTTI. Mejor sigan la pista #1, si bien esto es prescindible para llegar a lo que esa sigla significa. |
#27
|
||||
|
||||
Ja, ja, Pero eso ya es demasiado. Es como si un profesor te impidiera usar una solución aún siendo válida
Para mi que Ñuño y yo ya lo resolvimos, lero, lero. // Saludos |
#28
|
||||
|
||||
Yo por algo preguntaba sobre cierta sigla de 4 letras
Y estoy re perdido. Esas pistas para mi ni Arthur Conan Doyle se las imagina para las aventuras que ha escrito; que me han resultado complicadas de sacarle algo Yo de este reto mejor paso, que tengo mi cabeza pensando en mis propios retos... y en los del mecánico que me ajusta los tornillos Saludos, |
#29
|
||||
|
||||
Yo no sé ni a que sigla se refiere. Es más, ni siquiera sé cuál es la primera pista, y la tercera mejor ni releerla porque da dolor de cabeza
// Saludos |
#30
|
||||
|
||||
Cita:
Más que reto, se me hace una adivinanza Y si a ti te da dolor de cabeza, entonces ¿a mi? Saludos, |
#31
|
||||
|
||||
Cita:
Cita:
Cita:
Es de tres letras, pero no está escrita con letras. |
#32
|
||||
|
||||
Ja, ja, ja. Y mira que mis ojos pasaron por la solución más de una vez. Gracias Al, estuvo interesante
// Saludos |
#33
|
||||
|
||||
Me dejaste pior
Cita:
Voy a tener que llamar al área 51 porque parece que se fugaron de allí. ¿Cómo le hacen para saber tantas cosas? Evidentemente hay cosas que mi cabeza no logra entender y captar porque no tiene la preparación... pero esto... ¡se me hace que es más fácil encontrar la teoría unificadora de la física! Supongo que en una semana van a dar conocer la solución ¿no? Porque me han dejado intrigado. Saludos, |
#34
|
||||
|
||||
He de decir que lo de las siglas sigo sin entenderlo, aunque el término maleable tampoco me convence mucho.
Lo que es cierto es que la respuesta es mucho más sencilla de lo que parece, tal como lo comentó Al desde un principio. También es elegante y segura de usar, no como mi segunda solución, que voy a esbozar para que los demás no tomen el camino equivocado: Los campos en un objeto se acomodan de manera similar a un registro con un primer campo oculto que es la referencia a la clase a la que pertenece el objeto. Los campos aparecen en el orden en que están declarados y cada objeto guarda los campos de su clase y los de todas sus ancestras. Así pues, el método "sucio" de acceder al campo X pasa por saber el offset o desplazamiento del campo en el objeto y acceder libremente:
Calcular dicho offset no es tan sencillo pues hay que tomar en cuenta el alineamiento que menciona Al. Sin embargo, puede hacerse examinando el código fuente de la clase. Si la clase tiene ancestros nos podemos ayudar con AncestroDeClaseDeObj.InstanceSize, ya que InstanceSize sí toma en cuenta el alineamiento. Aún así, hay que examinar los campos de la clase final hasta llegar a X. // Saludos |
#35
|
||||
|
||||
¡¡¡ ¿¿¿Ya lo han descubierto??? !!!
Yo es que no he entendido las pistas, que parecen encriptadas |
#36
|
||||
|
||||
Ahora que leo lo comentado por Román veo que mi idea estaba bien encaminada, por eso dije:
Cita:
|
#37
|
||||
|
||||
Pero ojo, la solución que esbocé no es la que busca Al.
// Saludos |
#38
|
||||
|
||||
Román, me alegra mucho tener la certeza de que has llegado a la misma solución que yo.
Cita:
Amigos, reitero lo dicho. La cosa no requiere de meterse a las entrañas de la memoria o hacer desplazamientos de punteros y cosas de tan profundo nivel. Marcelo, no será necesario practicarle ningún exorcismo a ecfisa para encontrar las tres letras que te ayudarán a resolver... |
#39
|
||||
|
||||
Je, je. Cuidado con lo que dices
// Saludos |
#40
|
||||
|
||||
Bueno, aunque sabía la solución, no me decidía por la forma de implementarla. Aquí pongo una opción.
Contestando a Cita:
y el código que hay que escribir está en el archivo adjunto. La contraseña, para quien quiera ver la solución, es el tipo de datos (todo en minúsculas) involucrado Por cierto, del primer intento (fallido) de solución, que tenía que ver con las funciones del Heap, sale este koan: Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dudas sobre Delphi 2011 | cmm07 | Varios | 9 | 15-01-2011 14:48:06 |
Lazarus Vs. Delphi 2011 (2012? 2014?) | gatosoft | Debates | 33 | 14-08-2010 21:12:05 |
Delphi 2011 (Fulcrum) | heroe | Noticias | 11 | 15-07-2010 10:00:21 |
delphi 2011 | JXJ | Noticias | 13 | 03-04-2010 00:42:34 |
|