![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#2
|
||||
|
||||
|
changos!
ahora, ¿me lo podrían explicar como si no supiera Delphi? ¿es un error? ¿un descuido? ¿o porque pasa eso?
__________________
|
|
#3
|
||||
|
||||
|
De hecho no es Bush quien ganaria, sino Condolezza Rice. La razón tiene que ver con el hecho de que ambos arreglos, NoInvitar y Candidatos, están declarados contiguamente. Supongo, que el compilador los acomoda primero Candidatos y luego NoInvitados, es decir, que en memoria se ven así:
Código:
Candidatos[0] Candidatos[1] Candidatos[2] NoInvitados[1] NoInvitados[2] NoInvitados[3] Si no se declara NoInvitados, entonces Candidatos[5], apuntará a cualquier cosa y posiblemente venga un Access Violation. // Saludos |
|
#4
|
|||
|
|||
|
No, Roman.
De hecho, si hacés la prueba exactamente como la describo, con 5 sale Bush (lo que pasa es que adrede lo hice así, donde una es [0..2] y la otra [1..3] para usar el Itemindex del ComboBox; bueno no sé si se entiende). Y si en vez del ComboBox, ponés un Edit, y le vas dando cualquier valor, empiezan a salir caracteres extraños. Accede a cualquier cosa de la memoria, pero no produce error de ningún tipo. ¿Les cuento cómo lo encontré? Viene un cliente y me dice que en un listado (hecho con QReport, donde en beforeprint le adjudico valores a algunos rótulos desde código), le sale para un producto determinado una característica imposible, por ejemplo, en Talle='Blanco'. Busqué y busqué, no tenía ningún sentido... Hasta que me acordé del {$R+}, que nunca había entendido para qué estaba (supuestamente, no hacía falta controlar rangos!, al menos para los que venimos de lenguajes más amables). ¡Ahora sé! ![]() |
|
#5
|
||||
|
||||
|
Cita:
// Saludos |
|
#6
|
|||
|
|||
|
Si, eso.
Usé el itemindex en lugar de un StrToInt(ComboBox.Text) para acceder al elemento. Pero no me digan que no es una divertida curiosidad que le puede sacar canas a cualquiera, ¿no? ![]() |
|
#7
|
|||
|
|||
|
Cita:
Lo que sí me parece, es que más bien debería controlar rangos por defecto, y desactivar con un switch cuando uno expresamente desee esa posibilidad. Sino, pasan cosas como éstas. Bueno, en realidad la culpa fue mía, por conocer superficialmente el lenguaje (como dije antes, había visto de pasada esa directiva de compilador, pero no le encontré mayor sentido y la olvidé). Cosas que pasan cuando quienes no somos profesionales de la informática (me dedico a la consultoría de gestión de PyMEs) nos metemos con herramientas hechas pá los que saben. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Por culpa de Coderush?? | taita | Varios | 15 | 27-02-2007 01:11:10 |
| Conferencia de George 2V Bush | Sasuke_Cub | Humor | 0 | 28-05-2006 04:02:15 |
| Premio novela corta | Investment | Humor | 2 | 24-02-2005 14:23:14 |
| ...por culpa de quien... | Jure | Humor | 2 | 25-08-2004 20:13:17 |
| La PC de George Bush | delphi.com.ar | Humor | 1 | 14-06-2004 18:21:53 |
|